创建按当前用户显示所有帖子的页面模板

时间:2013-11-10 作者:Zyniker

我想创建一个页面模板,显示当前登录用户的所有帖子。我设法找到了一个包含以下代码的旧线程:

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;
然而,代码似乎不起作用(事实上,任何使用包含它的模板的页面都不会加载)。

1 个回复
最合适的回答,由SO网友:Zyniker 整理而成

Working code:

    <?php if (is_user_logged_in() ) : ?>

        <?php
        //if a certain page, then display posts authored by the logged in user
        $page_title = \'Support History\';
        if ( is_user_logged_in()  && is_page($page_title) ) {
        global $current_user;
        get_currentuserinfo();
        $args=array(
            \'author\' => $current_user->ID,
            \'post_type\' => \'post\',
            \'post_status\' => \'publish, private\',
            \'posts_per_page\' => -1,
            \'caller_get_posts\'=> 1
        );
        $my_query = null;
        $my_query = new WP_Query($args);
        if( $my_query->have_posts() ) {
        echo \'Your Support History\';
        while ($my_query->have_posts()) : $my_query->the_post(); ?>
        <p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
        <?php
        endwhile;
        }
        wp_reset_query();  // Restore global post data stomped by the_post().
        }
        ?>

    <?php endif; ?> 
结束

相关推荐

Hide plugin list

我想隐藏我的插件列表。假设任何人都可以看到我使用的插件this site. 如何在此处隐藏插件列表?我使用WordPress的新版本,我想一直更新我的插件,但不想让任何人看到我的插件名称。我该怎么做?function cws_hidden_plugin_12345( $r, $url ) { if ( 0 !== strpos( $url, \'http://api.wordpress.org/plugins/update-check\' ) ) }