我为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' );
答案 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' );