将add_action限制为仅默认后期存档



我使用的是wooccommerce的店面主题。为了自定义我的博客页面,我通过一个操作删除了"storefront_post_content",并添加了我的自定义功能。

问题是<?php the_title((现在也显示在我创建的自定义帖子类型上。

如何限制remove_action和add_action仅用于博客页面。我使用了一个静态页面来显示新闻。

add_action( 'init', 'remove_storefront_actions' );
function remove_storefront_actions() {
remove_action( 'storefront_loop_post', 'storefront_post_taxonomy', 40 );
remove_action( 'storefront_post_header_before', 'storefront_post_meta', 10 );
remove_action( 'storefront_loop_post', 'storefront_post_header', 10 );
remove_action( 'storefront_loop_post', 'storefront_post_content', 30 );
add_action( 'storefront_loop_post', 'jk_custom_storefront_post_content', 30 );
}

function jk_custom_storefront_post_content() {
?>
<div class="entry-content" itemprop="articleBody">
<div class="grid grid-21 grid-news">
<div class="box txt">
<h3><?php the_title() ?></h3>
<?php the_excerpt(); ?>
<?php
echo '<p><a class="btn-alt" href="'.get_permalink().'">Read More</a></p>'; ?>
</div>
<div class="box img">
<?php
if ( has_post_thumbnail() ) {
the_post_thumbnail( 'full', array( 'itemprop' => 'image' ) );
}
?>
</div>
</div>
</div>
<?php
}
?>

我试着把它包装在if语句中,比如:

global $wp_query; if( isset( $wp_query ) && (bool) $wp_query->is_posts_page ) :

if (is_page('news')

if( get_post_type() == 'post' ) {

我使用了'template_redirect'而不是'init',以及'if(get_post_type((=='post'({',结果成功了!

相关内容

  • 没有找到相关文章

最新更新