How to make "my posts" page

时间:2014-02-23 作者:Mark

如何制作一个部分,或者更好的方法是像一个短代码一样,只过滤我(或其他用户,取决于谁登录)添加的帖子

1 个回复
SO网友:s_ha_dum

我想这就是你想要的:

function my_posts_shortcode_wpse_135655() {
  if (!is_user_logged_in()) return;
  global $current_user;
  get_currentuserinfo();
  if (!empty($current_user->ID)) {
    $userp = new WP_Query(
      array(
        \'post_author\' => $current_user->ID,
      )
    );
    $content = \'\';
    if ($userp->have_posts()) {
      while ($userp->have_posts()) {
        $userp->the_post();
        $content .= get_the_title();
      }
    } else {
      $content .= "You don\'t have any posts.";
    }
    wp_reset_postdata();
    return $content;
  }
}
add_shortcode(\'my_posts\',\'my_posts_shortcode_wpse_135655\');
逐步完成:

如果用户未登录,请不要执行任何操作,否则请检索登录用户的用户数据如果我们有用户数据,请运行查询以获取用户帖子,请输出这些帖子的标题,重置帖子数据要使用此快捷码,只需添加[my_posts /] 任何帖子或页面。

结束

相关推荐

POSTS_NAV_LINK();不显示在静态页面上

我有两个不同的循环。主页上的默认值,但存档页面上的二次循环。它抓住了所有的内容,就像这样:<?php // WP_Query arguments $args = array ( \'posts_per_page\' => \'3\' ); // The Query $archiveQuery = new WP_Query( $args ); // The Loop if ( $archiveQuery-&