我如何为我的子主题编写插件代码,以便根据当前页面是否是主页来使用Remove_action()?

时间:2018-06-28 作者:J12

这是我当前的插件代码

<?php
/*
Plugin Name: Site Plugin for this site
Description: Site specific code changes for this site
*/
function remove_sf_actions() {
    remove_action( \'sf_before_content\', \'sf_header_widget_region\', 10 );
}
add_action( \'init\', \'remove_sf_actions\' );
?>
我已经对此进行了测试,它从网站上的每个页面中删除了sf\\u header\\u widget\\u region。我现在想做的是只在主页上显示sf\\u header\\u widget\\u region,并从所有其他页面中删除。

我曾尝试将代码行包装到条件is\\u front page函数中,但它似乎不起作用

1 个回复
SO网友:J12

我使用这个代码,现在它工作了。我认为在add\\u action参数中,使用wp head而不是init很重要:

function remove_sf_header_widget_region() {
    if(!is_front_page()){
    remove_action( \'sf_before_content\', \'sf_header_widget_region\', 10 );
    }
}
add_action( \'wp_head\', \'remove_sf_header_widget_region\' );

结束

相关推荐

Set plugin page as homepage

The Problem所以我安装了一个插件(iHomeFinder的Optima Express),它工作得非常好。它制作的页面是conradbowenrealestate.com/homes-for-sale-search. 然而,这个页面不是用WordPress制作的,它甚至不存在。我想将其设置为主页,但由于WordPress无法将其识别为WP页面,因此我无法将其设置为主页。Note that when viewing the source code, the \"page-id\" is 0.Wha