如何防止 - 上次修改日期/时间 - 不显示在页面上而是仅显示在帖子上

时间:2017-06-02 03:20:36

标签: wordpress last-modified

我为WordPress创建了一个单独的插件(通常称为特定于站点的插件),我在其中添加了一个显示上次修改日期和时间的函数。嗯,它运作良好,但我不想为PAGES显示相同的内容,但仅适用于帖子。

我应该在此代码中修改哪些内容?

    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' );

2 个答案:

答案 0 :(得分:1)

您可以使用以下条件查看正在显示的页面:

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

答案 1 :(得分:0)

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

action = "."

或者你可以检查当前的帖子类型并执行此操作,下面的代码只对帖子类型'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' );