如何使用帖子ID或页面固定链接在选定的wordpress页面中发布某个帖子类别?

时间:2014-09-23 02:58:21

标签: php mysql wordpress

我创建了新闻发送帖子类别。我还创建了一个新闻发布页面,这是我要显示新闻发布帖子类别帖子的页面。如何使用帖子ID或在查询中使用页面永久链接在新闻稿页面中显示我的新闻发布帖子?这是我的示例代码。

add_action('pre_get_posts', 'ad_filter_categories');

   function ad_filter_categories($query) {
      if ($query->is_main_query() && is_home()) {
      $query->set('category_name','news dispatches');
   }
  }

如何将is_home代码行替换为页面/帖子ID或页面永久链接?谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

不能在pre_get_posts中使用is_page(请参阅http://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts)。

所以在新闻发布页面中,将其添加到:

// Modify the page query
query_posts( 'category_name=news-dispatches');    

// The Loop
if ( have_posts() ) {
    echo '<ul>';
    while ( $have_posts() ) {
        the_post();
        echo '<li>' . get_the_title() . '</li>';
    }
    echo '</ul>';
} else {
    // no posts found
}
/* Restore original Post Data */
wp_reset_postdata();

<强>更新 要回答这个问题:“我要研究哪些php文件来插入这段代码?”:

很难给出确切的说明,因为它实际上取决于主题的设置方式。

您需要创建一个名为page-news-releases.php的页面。有关页面模板的说明,请参阅http://codex.wordpress.org/images/1/18/Template_Hierarchy.png。因此,当wordpress显示带有slug news-releases的页面时,它将使用此文件而不是默认文件。

您将把我的代码放在主循环的新页面中。你还需要查看你的其他主题文件并复制需要在它之前和之后的代码(对于你的页眉和页脚以及那种东西)。教会wordpress模板设计有点超出stackoverflow的范围,但希望这会让你开始。祝你好运!