it-swarm.com.de

Holen Sie sich alle Beiträge von post_author

Ich erstelle ein Back-End-Dashboard, in dem ich den gesamten Beitrag anzeigen muss, der dem aktuellen Benutzer vom wp admin zugewiesen wurde.

Ich weise Autor eine Benutzerrolle zu und weise diesen Beitrag beim Erstellen eines Posts (als WP-Administrator) nur einem Autor aus der Dropdown-Liste "Autor" zu.

Ich muss also Posts mit dem Status Veröffentlichen anzeigen. Ich verwende jetzt einen einfachen Abfrage-Beitrag, der jedoch alle Beiträge zurückgibt.

global $current_user;
get_currentuserinfo();
$user_id = $current_user->ID;    // for current user it is 2

$query = array(
        'post_type' => 'post',
        'post_author' => $user_id,
        'post_status' => array('publish')
    );
$my_posts = query_posts($query);

Ich habe auch post_author zu 2 hartcodiert

Ich habe auch versucht, $my_post = new WP_Query(array( 'post_author' => '2' ));

aber scheitern.

1
Muhammad Sajid

Vielen Dank an Sheikh Heera

if ( is_user_logged_in() ):

    global $current_user;
    get_currentuserinfo();
    $author_query = array('posts_per_page' => '-1','author' => $current_user->ID);
    $author_posts = new WP_Query($author_query);
    while($author_posts->have_posts()) : $author_posts->the_post();
    ?>
        <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>       
    <?php           
    endwhile;

else :

    echo "not logged in";

endif;
2
Muhammad Sajid

Die kürzestmögliche Antwort wäre, 'post_author' auf 'author' zu korrigieren, da dies der Schlüssel ist, den WP sucht . Wenn ein Schlüssel falsch oder falsch geschrieben ist, wird er ignoriert, wie dies bei 'post_author' der Fall war.

1
Karlis Rode

Das folgende Mini-Plug-In fügt ein Dashboard-Widget hinzu, das Beiträge des aktuellen Benutzers abfragt, der publish als Beitragsstatus hat. Sie können get_current_user_id() in Benutzung sehen.

<?php
defined( 'ABSPATH' ) OR exit;
/**
 * Plugin Name: (#91605) Dashboard Widget - User posts
 */

add_action( 'wp_dashboard_setup', 'wpse91605_dbwidget_user_posts' );
function wpse91605_dbwidget_user_posts()
{
    wp_add_dashboard_widget(
         'wpse91605_dbwidget_user_posts'
        ,_e( 'Your published posts', 'your_textdomain' )
        ,'wpse91605_dbwidget_user_posts_cb'
    );
}
function wpse91605_dbwidget_user_posts_cb()
{
    $query = new WP_Query( array(
         'author'         => get_current_user_id()
        ,'post_status'    => 'publish'
        ,'posts_per_page' => -1
        ,'showposts'      => -1
        ,'nopaging'       => true
    ) );
    if ( $query->have_posts() )
    {
        ?><ul><?php
        while( $query->have_posts )
        {
            the_post();
            ?>
            <li><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
                <?php the_title(); ?>
            </a></li>
            <?php
        }
        ?></ul><?php
    }
}
1
kaiser