Php if/Else语句中的触发器弹出窗口

时间:2018-12-23 作者:re-boot

我试图在函数中触发弹出窗口。php,如果满足某些条件。if-else语句本身工作得很好,但我无法打开弹出窗口。我试着调用一个短代码,但没有返回任何结果。

我为弹出窗口本身使用了一个插件(弹出窗口生成器)。因此,我唯一可以访问的是创建的弹出窗口的唯一类和快捷码。该插件允许我通过onclick、CSS、Hover、onload和exit意图触发弹出窗口。但当我试图直接从函数中通过短代码触发它时,这些选项都没有用处。php文件。就像这样,它们不起作用。

我真的需要一些方向,因为我觉得我哪里也去不了。下面是我尝试过的短代码。Ps:我知道javascript可以做到这一点,但由于我没有弹出窗口的id,而且我对JS的经验充其量也有限,所以我真的不知道该转向哪个方向。希望有人能帮我!

function cookie_checker() { 

// Check if cookie is already set
if(isset($_COOKIE[\'tln_cookie\'])) {

// Do this if cookie is set 

} else { 

// Do this if the cookie doesn\'t exist 

$shortcode =        do_shortcode("[sg_popup id=1]");

return $shortcode;

}
} 
add_action(\'init\', \'cookie_checker\');

1 个回复
最合适的回答,由SO网友:Danail Emandiev 整理而成

您正在创建一个返回短代码的cookie\\u checker函数
但是,您挂接的操作(init)执行得太早(在创建页面内容之前)
您可以尝试“echo“通过挂接到wp\\u print\\u footer\\u脚本,在页面页脚中显示短代码内容。
我还没有测试过一个示例,但应该可以:

function cookie_checker() { 

// Check if cookie is already set
if(isset($_COOKIE[\'tln_cookie\'])) {

// Do this if cookie is set 

} else { 

// Do this if the cookie doesn\'t exist 

echo do_shortcode("[sg_popup id=1]");

}

}
add_action(\'wp_print_footer_scripts\', \'cookie_checker\');
您可以在此处了解有关WordPress触发操作的顺序的更多信息:http://rachievee.com/the-wordpress-hooks-firing-sequence/

相关推荐

如何包含wp-load.php并加载所有插件

为什么加载wp load。php“改用wordpress ajax”不这仅用于测试。我有一个只用于本地开发的测试页面,例如。test.php 在“我的主题”文件夹中现在,当我这样做时:global $wpdb; require_once(__DIR__ . \'/../../../wp-load.php\'); get_header(); ... get_footer(); 我注意到插件挂钩没有执行,我的所有脚本和css都没有加载我能做些什么,让插件挂钩也能加载吗