我使用以下代码来显示创世记中的信息。但我有一个问题。 我不想在某些特定网页(如博客页面和主页)上显示信息。
所以我尝试了一些方法,但没有工作。
实际上我已经创建了页面模板.. page-blog.php 和 page-home.php
remove_action( 'genesis_before_post_content', 'genesis_post_info' );
add_action( 'genesis_before_post_title', 'child_post_info' );
function child_post_info() {
if (!is_page('blog')) {
return;
?>
<div class="post-info">
<span class="date published time">
<time class="entry-date" itemprop="startDate" datetime="<?php echo get_the_date( 'c' ); ?>" pubdate><?php echo get_the_date(); ?></time>
</span> By
<span class="author vcard">
<a class="fn n" href="<?php echo get_the_author_url( get_the_author_meta( 'ID' ) ); ?>" title="View <?php echo get_the_author(); ?>'s Profile" rel="author me"><?php the_author_meta( 'display_name' ); ?></a>
</span>
<span class="post-comments">· <a href="<?php the_permalink() ?>#comments"><?php comments_number( 'Leave a Comment', '1 Comment', '% Comments' ); ?></a></span>
<?php // if the post has been modified, display the modified date
$published = get_the_date( 'F j, Y' );
$modified = the_modified_date( 'F j, Y', '', '', FALSE );
$published_compare = get_the_date( 'Y-m-d' );
$modified_compare = the_modified_date( 'Y-m-d', '', '', FALSE );
if ( $published_compare < $modified_compare ) {
echo '<span class="updated"><em>· (Updated: ' . $modified . ')</em></span>';
} ?>
</div>
<?php }
}
请告诉我如何解决这个问题。
立即
我创建了一个新文件 meta-postinfo.php
并保存
<div class="post-info">
...
</div>
并在functions.php文件中..
remove_action( 'genesis_before_post_content', 'genesis_post_info' );
add_action( 'genesis_before_post_title', 'child_post_info' );
function child_post_info() {
if ( !is_home() && !is_page(array('blog', 'inspiring quotes')) ) {
get_template_part('meta', 'postinfo');
};
}
上面的代码正在使用博客页面和主页,但不是“鼓舞人心的报价”页面,虽然我已经尝试了
if ( !is_home() && !is_page('blog') && !is_page('inspiring quotes') ) {
但没有工作..你有什么想法吗?
答案 0 :(得分:1)
要从特定页面隐藏模板中的给定函数,请使用这样的is_page()函数(隐藏带有大约slug的页面):
<?php
if ( !is_page('about') ) {
// This function will not run on the homepage
};
?>
要隐藏您使用的主页中的内容is_Home
<?php
if ( !is_home() ) {
// This function will not run on the homepage
};
?>
请参阅:http://codex.wordpress.org/Function_Reference/is_page和http://codex.wordpress.org/Function_Reference/is_home
编辑:这不会出现在add_action调用的函数中,而是可以直接写入模板中的任何位置,例如:
<?php
if ( !is_home() ) {
<div class="post-info">
<span class="date published time">
// ... the rest of this display template.
};
?>
如果它将在多个模板中使用,您可以将其移动到单独的文件并使用如下:
<?php
if ( !is_home() ) {
get_template_part('postinfo');
};
?>