将主页设置为仅显示来自一个标签的帖子

时间:2015-01-09 作者:Mr. B

我希望我的主页只显示来自单个标签的帖子。这可能吗?如果是,请告知。

例如,

www.mysite。com/tag/sometag

将仅显示带有sometag 标记,但如何获取www.mysite。com自动仅显示在上看到的帖子

www.mysite。com/tag/sometag页?

3 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

您应该使用pre_get_posts 更改主页上的主查询。

使用适当的条件标记和参数(检查WP_Query 对于可用参数),您可以实现所需的

您可以执行以下操作,仅在主页上显示来自给定标记的帖子

add_action( \'pre_get_posts\', function ( $query ) {
    if ( !is_admin() && $query->is_home() && $query->is_main_query() ) {
        $query->set( \'tag\', \'SLUG_OF_TAG\' );
    }
});

SO网友:Mohammad Mursaleen

为此;首先你必须Custom Page template 并添加以下内容loop 您可以随心所欲地进行定制。

<?php

    $args=array(
      \'tag\' => \'yourtag\',
      \'showposts\'=>5     // set number of post you want to display
    );
    $my_query = new WP_Query($args);
    if( $my_query->have_posts() ) {
      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>

        // display what ever you want in this post

      <?php
      endwhile;
    }
  wp_reset_query();  // Restore global post data stomped by the_post().
?>
那么create a Pageselect this custom page template 为了它。

设置的下一步set this page as static home page 你已经准备好了。

SO网友:Zbigniew

自定义wp查询可以很好地工作,但在许多情况下分页或其他元素消失或被“破坏”。

我使用了一种不理想但“最简单”的方法:在自定义页面模板中对原始WP标记页面进行301重定向。

代码示例:

<?php
/**
 * Template Name:  Your Custom Redirect Name
 */
header("HTTP/1.1 301 Moved Permanently");
header("Location: hxxp://yoursite.com/tag/your-tag-slug/");
 ?>

结束

相关推荐

Display Tags of Child Pages

我正在尝试在父页面上显示子页面的标记。在我的功能中。php:// add tag support to pages function tags_support_all() { register_taxonomy_for_object_type(\'post_tag\', \'page\'); } // ensure all tags are included in queries function tags_support_query($wp_query)