如何仅在首页运行此代码,而不是在Wordpress Index的子页面上运行?

时间:2016-08-28 04:25:11

标签: php wordpress

我想展示来自特定类别的最近5个修改过的帖子,名为"精选"在首页正常帖子下方,但不在随后的子页面上。我使用此代码显示最后五个帖子。一切似乎都运转良好,除了这5个帖子也在子页面上运行。

function modified_postsbycategory() {
  // the query
  $the_query = new WP_Query( array( 'category_name' => 'featured', 'orderby' => 'modified', 'posts_per_page' => 5 ) ); 

  // The Loop
  if ( $the_query->have_posts() ) : ?>
  <?php
  while ( $the_query->have_posts() ) :
    $the_query->the_post();

            get_template_part( 'template-parts/content', 'modified' );

        // End the loop.
        endwhile;

    // If no content, include the "No posts found" template.
    else :
        get_template_part( 'template-parts/content', 'none' );

    endif;
    ?>
  <?php wp_reset_postdata(); ?>
  <?php
}
  // Add a shortcode
  add_shortcode('categoryposts', 'modified_postsbycategory');

我在函数启动后使用此条件标记,但我认为我没有采用正确的方法。

<?php if (is_front_page() && !is_paged() ){ ?>

你能帮我吗?

PS:请检查代码,如果发现任何错误,请更正我。我只是一个学习者,而不是专家。

2 个答案:

答案 0 :(得分:0)

在Wordpress中,首页可以是

  • 您的最新帖子 OR
  • 静态页面

如果您的最新帖子,那么条件将是

<?php if (is_home()){ ..... } ?>

否则

<?php if (is_front_page()){ ..... } ?>

答案 1 :(得分:0)

您只需要检查它是否是首页

<?php if (is_front_page()){ ?>