我正在使用Wordpress的Popup Maker插件,我试图阻止它使用子主题的functions.php文件加载到特定页面。
我在插件的目录中找到了文件popup-maker.php,其中包含最后一行:
add_action( 'plugins_loaded', 'popmake_initialize', 0 );
如果我删除/评论此行,弹出窗口将不会触发,所以我想这是我需要删除的操作。我已阅读WP codex和众多帖子,但仍然无法使其发挥作用。
现在我被困在这个(我在我的孩子主题中添加的函数&functions.php文件):
function remove_popmaker() {
remove_action('plugins_loaded', 'popmake_initialize', 0);
}
add_action( 'init', 'remove_popmaker', 1 );
PS:我正在使用shopkeeper主题和Woocommerce。
所有帮助表示感谢,谢谢。
答案 0 :(得分:1)
您要在$(function(e){
$('#cl').click(function(e){
//Select any input that has the class "att" and apply the val() function
$('.att :input').val('123');
//Select any element that is not an input and apply the text() function
$('.att').not(':input').text('123');
//Search for an element with a known ID but apply `val()` if the element is input
$('#text .att :input').val('123');
//Search for an element with a known ID but apply `text()` if the element is not an input
$('#text .att').not(':input').text('123');
});
});
之后添加一个init
的操作,因此您无法在操作后删除操作。
您可以尝试相同的操作,但您必须从插件
执行此操作plugins_loaded
但是我怀疑在您之后运行之前添加了操作,如果不是您可能需要编写一个MUplugin(google this),这可能是不可预测的。
答案 1 :(得分:0)
我设法做到了这一点:
add_action('wp', 'disableEmailPopup');
function disableEmailPopup () {
global $post;
if ($post->ID === 11625249) return remove_action( 'wp_enqueue_scripts', 'popmake_load_site_scripts');
}
答案 2 :(得分:0)
@BMM - 如果不知道为什么需要在一个页面上禁用整个插件的用例,很难给出最佳答案。
例如,如果您只想在一个页面上显示单个弹出窗口,则可以使用条件面板使用(!)按钮添加否定条件。点击它将其变为红色,您将检查条件的相反情况,因此(!) Page Selected: Page xyz
会阻止它在该页面上加载。
或者,您可以create your own custom conditions允许您将该条件添加到任何弹出窗口中。
最后,如果您只想从前端解开它,您可以简单地删除渲染&脚本处理程序
remove_action( 'wp_footer', 'popmake_render_popups', 1 );
remove_action( 'wp_head', 'popmake_script_loading_enabled' );
如果你想阻止查询
remove_action( 'wp_enqueue_scripts', 'popmake_preload_popups', 11 );
希望有所帮助。