我试图在函数中触发弹出窗口。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\');
最合适的回答,由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/