找不到IS_FROW_PAGE()变量

时间:2020-04-12 作者:Dosenlunch

我正试图做一些真正简单的事情,但不知怎么的,这让我抓狂。我试图让代码片段只在头版上运行。我的网站设置为有一个静态首页,所以我认为我成功的关键是有条件的标签is_front_page(). 然而,我无法让它运行,因为无论我尝试什么,我总是在控制台中出现一条错误消息“ReferenceError: Can’t find variable: is_front_page”.

下面是我的基本代码,我只使用它来测试条件标记是否工作:

<?php
add_action(\'wp\', function(){; ?>
<script>
    window.addEventListener("load", function() {
        if( is_front_page() ){
            console.log("front page")
        };
    }); 
</script>
<?php });
我已经花了几个小时浏览互联网,发现条件标记只有在某些元素加载后才起作用,因此我将该函数挂在了“wp”中。此外,我还了解到,通过恢复原始wp\\U查询,解决了一些类似的问题,因此我添加了<?php wp_reset_query();?>, 但同样,没有变化。我也尝试过使用is\\u home(),但最终得到了相同的错误消息。此外,我已经禁用了所有插件,没有更改。这真的很奇怪,因为我甚至没有运行is\\u home()和is\\u front\\u page(),所以我想一定有一些相当普遍的问题。

非常感谢您的帮助。祝你复活节快乐,祝你平安!多米尼克

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

您的代码有几个问题。is_front_page() 是一个PHP函数,需要在<?php ?>.

脚本需要以HTML格式打印才能正常工作。试试这个。。

function wpse_363853_run_on_front() {
    ?>
    <script>
        window.addEventListener("load", function() {
            <?php if( is_front_page() ){ ?>
            console.log("front page");
            <?php } ?>
        });
    </script>
    <?php
}
add_action( \'wp_head\', \'wpse_363853_run_on_front\', 99 );
请注意,避免使用匿名函数。

相关推荐

如何从WordPress菜单添加帮助Scout javascript LiveChat

我的客户希望从这里的网站添加实时聊天脚本代码,但他希望它放在特定菜单/联系人菜单上/我不知道如何实现它。请告诉我对此的任何想法,我对javascript不是很熟悉这是用于实时聊天的javascript:<script type=\"text/javascript\">!function(e,t,n){function a(){var e=t.getElementsByTagName(\"script\")[0],n=t.createElement(\"script\");n.type=\"te