Sýnið aðeins færslur / fjölmiðla í eigu innskráðs WordPress notanda

Wordpress sýnir aðeins wordpress innlegg og fjölmiðla í eigu innskráðs notanda

Hvernig á að slökkva á sýningu á færslum og fjölmiðlum annarra WordPress notenda

Ef þú hefur einhvern tíma unnið á WordPress samfélagssíðu sem studd er af mörgum útgefendum gætirðu tekið eftir því að þrátt fyrir að þú getir ekki breytt færslum annarra, þá geturðu samt skoðað titla hverrar færslu inni í WordPress stjórnanda. 

Það er vegna þess að WordPress gerir höfundum sjálfgefið kleift að sjá titla á hverri birtri færslu, drögum og fjölmiðlum.

Í þessari kennslu munum við sýna þér hvernig á að gera óvirkar sýningar á færslum og fjölmiðlum annarra notenda.

Ef þú vilt sjá fleiri brellur sem þú getur notað með WordPress, vertu viss um að skoða nokkrar aðrar greinar okkar.

Efnisyfirlit[Sýna]

titlar skoða fatlaðir

Mundu að taka WordPress afrit (með þessum viðbótum) áður en þú heldur áfram ef eitthvað brotnar á meðan þú lagfærir kóðann. 

1. Slökktu á því að sýna færslur og fjölmiðla annarra WordPress notenda

Bættu kóðanum hér að neðan við aðgerðir þínar.php til að gera óvirkar sem sýna færslur og fjölmiðla annarra notenda.

add_action('pre_get_posts', 'query_set_only_author' );
function query_set_only_author( $wp_query ) {
 global $current_user;
 if( is_admin() && !current_user_can('edit_others_posts') ) {
    $wp_query->set( 'author', $current_user->ID );
    add_filter('views_edit-post', 'fix_post_counts');
    add_filter('views_upload', 'fix_media_counts');
 }
}

2. Slökkva á sýningu á WordPress færslum

Eins og getið er, ofangreindur kóði mun aðeins slökkva á því að sýna titla á færslum annarra innan WordPress mælaborðsins.

Vandamálið er að það mun ekki slökkva á því að sýna fjölda talninga inni í „öllum færslum“, „drögum“, „rusli“ og „bið“ síustikum. Ef þú vilt líka laga færslufjöldann í síustikunum skaltu bæta kóðabrotinu hér að neðan við aðgerðir þemans.php skrá.

Athugaðu að kóðinn hér að neðan virkar aðeins ef hann er notaður ásamt ofangreindum kóða.

function fix_post_counts($views) {
  global $current_user, $wp_query;
  unset($views['mine']);
  $types = array(
    array( 'status' =>  NULL ),
    array( 'status' => 'publish' ),
    array( 'status' => 'draft' ),
    array( 'status' => 'pending' ),
    array( 'status' => 'trash' )
  );
 
  foreach( $types as $type ) {
    $query = array(
      'author'   => $current_user->ID,
      'post_type'   => 'post',
      'post_status' => $type['status']
    );
   
    $result = new WP_Query($query);

    if( $type['status'] == NULL ):
     
      $class = ($wp_query->query_vars['post_status'] == NULL) ? ' class="current"' : '';
      $views['all'] = sprintf(__('<a href="%s"'. $class .'>All <span class="count">(%d)</span></a>', 'all'),
        admin_url('edit.php?post_type=post'),
        $result->found_posts);

    elseif( $type['status'] == 'publish' ):

      $class = ($wp_query->query_vars['post_status'] == 'publish') ? ' class="current"' : '';
      $views['publish'] = sprintf(__('<a href="%s"'. $class .'>Published <span class="count">(%d)</span></a>', 'publish'),
        admin_url('edit.php?post_status=publish&post_type=post'),
        $result->found_posts);

    elseif( $type['status'] == 'draft' ):

       $class = ($wp_query->query_vars['post_status'] == 'draft') ? ' class="current"' : '';
       $views['draft'] = sprintf(__('<a href="%s"'. $class .'>Draft'. ((sizeof($result->posts) > 1) ? "s" : "") .' <span class="count">(%d)</span></a>', 'draft'),
         admin_url('edit.php?post_status=draft&post_type=post'),
         $result->found_posts);

    elseif( $type['status'] == 'pending' ):

        $class = ($wp_query->query_vars['post_status'] == 'pending') ? ' class="current"' : '';
        $views['pending'] = sprintf(__('<a href="%s"'. $class .'>Pending <span class="count">(%d)</span></a>', 'pending'),
          admin_url('edit.php?post_status=pending&post_type=post'),
          $result->found_posts);

    elseif( $type['status'] == 'trash' ):

        $class = ($wp_query->query_vars['post_status'] == 'trash') ? ' class="current"' : '';
        $views['trash'] = sprintf(__('<a href="%s"'. $class .'>Trash <span class="count">(%d)</span></a>', 'trash'),
          admin_url('edit.php?post_status=trash&post_type=post'),
          $result->found_posts);

    endif;
  }
 
  return $views;
}

3. Lagaðu fjölda fjölmiðla

Ef þú vilt slökkva einnig á fjölda fjölmiðla skaltu bæta kóðanum hér að neðan við aðgerðir þínar.php. Til að láta þennan kóða virka skaltu ganga úr skugga um að bæta við fyrsta kóðanum líka, það er kóðanum sem gerir óvirkan sýningu á pósti og fjölmiðlum annarra notenda. 

function fix_media_counts($views) {
  global $wpdb, $current_user, $post_mime_types, $avail_post_mime_types;
  $views = array();
  $_num_posts = array();
  $count = $wpdb->get_results( "

    SELECT post_mime_type, COUNT( * ) AS num_posts
    FROM $wpdb->posts
    WHERE post_type = 'attachment'
    AND post_author = $current_user->ID
    AND post_status != 'trash'
    GROUP BY post_mime_type

 ", ARRAY_A );

 foreach( $count as $row )
    $_num_posts[$row['post_mime_type']] = $row['num_posts'];
    $_total_posts = array_sum($_num_posts);
    $detached = isset( $_REQUEST['detached'] ) || isset( $_REQUEST['find_detached'] );

 if ( !isset( $total_orphans ) )
    $total_orphans = $wpdb->get_var("

        SELECT COUNT( * )
        FROM $wpdb->posts
        WHERE post_type = 'attachment'
        AND post_author = $current_user->ID
        AND post_status != 'trash'
        AND post_parent < 1

    ");

  $matches = wp_match_mime_types(array_keys($post_mime_types), array_keys($_num_posts));
 
  foreach ( $matches as $type => $reals )

    foreach ( $reals as $real )

      $num_posts[$type] = ( isset( $num_posts[$type] ) ) ? $num_posts[$type] + $_num_posts[$real] : $_num_posts[$real];
      $class = ( empty($_GET['post_mime_type']) && !$detached && !isset($_GET['status']) ) ? ' class="current"' : '';
      $views['all'] = "<a href='upload.php'$class>" . sprintf( __('All <span class="count">(%s)</span>', 'uploaded files' ), number_format_i18n( $_total_posts )) . '</a>';

   foreach ( $post_mime_types as $mime_type => $label ) {

    $class = '';
    if ( !wp_match_mime_types($mime_type, $avail_post_mime_types) )
      continue;

    if ( !empty($_GET['post_mime_type']) && wp_match_mime_types($mime_type, $_GET['post_mime_type']) )
      $class = ' class="current"';

    if ( !empty( $num_posts[$mime_type] ) )
      $views[$mime_type] = "<a href='upload.php?post_mime_type=$mime_type'$class>" . sprintf( translate_nooped_plural( $label[2], $num_posts[$mime_type] ), $num_posts[$mime_type] ) . '</a>';

  }

 $views['detached'] = '<a href="upload.php?detached=1"' . ( $detached ? ' class="current"' : '' ) . '>' . sprintf( __( 'Unattached <span class="count">(%s)</span>', 'detached files' ), $total_orphans ) . '</a>';

 return $views;
}

 Og þessi dömur og heiðursmaður er kóðahakk sem gerir þér kleift að sýna aðeins færslur og fjölmiðla núverandi WordPress notanda.

Athugaðu hvort notandi sé skráður á WordPress

Í kóðabreytingunni hér að ofan þurftum við að athuga hvort notandi gæti breytt færslum. En ef þú vilt athuga hvort notandi sé skráður inn í WordPress með kóða geturðu notað eftirfarandi kóða:

if ( is_user_logged_in() ) {
    echo 'Welcome, registered user!';
} else {
    echo 'Welcome, visitor!';
};
 

Á hinn bóginn, ef þú ert að leita að einfaldri leið til að vita hvort notandi er skráður í bakendann, getur þú notað eftirfarandi viðbót: WPForce útskráning eða hver er innskráður viðbót.

wp gildi útskráning til að sjá hvort notendur eru innskráðir

 

Þarftu hjálp við að gera efni? Prófaðu þessi vinsælustu tónleikar á Fiverr!

fiverr merki

Ýttu hér að finna sérfræðinga um að laga WordPress vandamál.

Ýttu hér til að búa til full WordPress vefsíða.

 

 
Sæktu listann yfir 101 WordPress bragðaref sem allir bloggarar ættu að kunna

101 WordPress bragðarefur

Smelltu hér til að hlaða niður núna
 
Um höfundinn
David Attard
Höfundur: David AttardVefsíða: https://www.linkedin.com/in/dattard/
David hefur starfað í eða við net- / stafræna iðnaðinn síðustu 18 ár. Hann hefur mikla reynslu af hugbúnaðar- og vefhönnunargeiranum með því að nota WordPress, Joomla og veggskot í kringum þau. Sem stafrænn ráðgjafi er áhersla hans lögð á að hjálpa fyrirtækjum að ná samkeppnisforskoti með því að nota sambland af vefsíðu þeirra og stafrænum kerfum sem eru í boði í dag.

Eitt í viðbót... Vissir þú að fólk sem deilir gagnlegu efni á borð við þessa færslu lítur ótrúlega líka út? ;-)
vinsamlegast yfirgefa a gagnlegt skrifaðu athugasemdir við hugsanir þínar, deildu þessu síðan á Facebook hópinn þinn / hverjum sem myndu finnast þetta gagnlegt og við skulum uppskera ávinninginn saman. Takk fyrir að deila og vera fín!

Birting: Þessi síða getur innihaldið tengla á ytri vefsíður fyrir vörur sem við elskum og mælum af heilum hug. Ef þú kaupir vörur sem við leggjum til gætum við unnið okkur inn tilvísunargjald. Slík gjöld hafa ekki áhrif á ráðleggingar okkar og við tökum ekki við greiðslum fyrir jákvæða dóma.

Höfundur (ar) Valin þann:  Merki tímarits Inc   Sitepoint merki   CSS bragðarefur merki    vefhönnunarpottamerki   WPMU DEV merki   og margir fleiri ...