如何防止 - Last Modified Date/Time - 不显示在页面上而只显示在帖子上

How To Prevent - Last Modified Date/Time - to not show on Pages but only Posts

我为 WordPress 创建了一个单独的插件(通常称为站点特定插件),我在其中添加了一个功能来显示最后修改的日期和时间。好吧,效果很好,但我不想为 PAGES 显示相同的内容,而只为 Posts 显示。

我应该在这段代码中修改什么?

    function wpb_last_updated_date( $content ) {
$u_time = get_the_time('U'); 
$u_modified_time = get_the_modified_time('U'); 
if ($u_modified_time >= $u_time + 86400) { 
$updated_date = get_the_modified_time('F jS, Y');
$updated_time = get_the_modified_time('h:i a'); 
$custom_content .= '<p class="last-updated"><b>Last updated on</b> '. $updated_date . ' at '. $updated_time .'</p>';  
} 

    $custom_content .= $content;
    return $custom_content;
}
add_filter( 'the_content', 'wpb_last_updated_date' );

您可以检查正在显示的页面是否符合以下条件:

is_page()     //For pages
is_single()   //for posts
is_singular() //for posts AND pages
is_category() //for categories
is_tag()      //for tags
is_404()      //for 404 page

尝试将代码放在下面,该代码有条件仅向帖子添加自定义内容:

function wpb_last_updated_date( $content ) 
{
      $u_time = get_the_time('U'); 
      $u_modified_time = get_the_modified_time('U');

      if ($u_modified_time >= $u_time + 86400) 
      { 
           $updated_date = get_the_modified_time('F jS, Y');
           $updated_time = get_the_modified_time('h:i a'); 
           if(is_single()) 
           {
                 $custom_content .= '<p class="last-updated"><b>Last updated on</b> '. $updated_date . ' at '. $updated_time .'</p>';  
           }
      }
      $custom_content .= $content;
      return $custom_content;
}
add_filter( 'the_content', 'wpb_last_updated_date' );

要查看更完整的模板标签列表,请访问: http://codex.wordpress.org/Function_Reference/is_page

您好 is_page() 函数可以用来检查页面是 post 还是页面,所以我们可以使用那个条件。

function wpb_last_updated_date( $content ) 
{
      $u_time = get_the_time('U'); 
      $u_modified_time = get_the_modified_time('U');

      if ($u_modified_time >= $u_time + 86400) 
      { 
           $updated_date = get_the_modified_time('F jS, Y');
           $updated_time = get_the_modified_time('h:i a'); 
           if(!is_page()) 
           {
                 $custom_content .= '<p class="last-updated"><b>Last updated on</b> '. $updated_date . ' at '. $updated_time .'</p>';  
           }
      }
      $custom_content .= $content;
      return $custom_content;
}
add_filter( 'the_content', 'wpb_last_updated_date' );

或者您可以检查当前的 post 类型并执行此操作,下面的代码将只对 post 类型 'post'.

执行过滤器
   function wpb_last_updated_date( $content ) 
{
      $u_time = get_the_time('U'); 
      $u_modified_time = get_the_modified_time('U');

      if ($u_modified_time >= $u_time + 86400) 
      { 
           $updated_date = get_the_modified_time('F jS, Y');
           $updated_time = get_the_modified_time('h:i a'); 
global $post;
      if ($post->post_type == 'post')
           {
                 $custom_content .= '<p class="last-updated"><b>Last updated on</b> '. $updated_date . ' at '. $updated_time .'</p>';  
           }
      }
      $custom_content .= $content;
      return $custom_content;
}
add_filter( 'the_content', 'wpb_last_updated_date' );