Wordpress仅在用户未登录时执行javascript文件

Wordpress仅在用户未登录时执行javascript文件,javascript,php,wordpress,templates,include,Javascript,Php,Wordpress,Templates,Include,我试图在wordpress中执行一个javascript文件,但是我不明白为什么它不工作。这是我正在使用的代码: <?php if ( is_user_logged_in() ) { echo 'Ok!'; } else { wp_enqueue_script( 'ads' ); } ?> 有什么想法吗?提前谢谢 应在挂钩上运行。这也应该封装在一个函数中,或者至少封装在一个函数中 请注意,您现在需要开始正确地格式化/缩进代码-将来谢谢 A.您正在检查用户是否“已”登录。您可以使用“

我试图在wordpress中执行一个javascript文件,但是我不明白为什么它不工作。这是我正在使用的代码:

<?php
if ( is_user_logged_in() ) {
echo 'Ok!';
} else {
wp_enqueue_script(
'ads'
);
}
?>
有什么想法吗?提前谢谢

应在挂钩上运行。这也应该封装在一个函数中,或者至少封装在一个函数中

请注意,您现在需要开始正确地格式化/缩进代码-将来谢谢

A.您正在检查用户是否“已”登录。您可以使用“Not”逻辑运算符确保返回false:

B.您不需要注册脚本,因为
wp\u enqueue\u script
将为您注册脚本。如果您越来越喜欢在页面上激活短代码时加载脚本,那么只需要注册脚本

C.通常,您会希望在脚本/样式句柄前面加前缀,因为它们可能会有冲突

D.通常您会希望使用或超过
get\u bloginfo()
since

像这样的事情会让你开始:

add_action( 'wp_enqueue_scripts', 'load_ads_script' );
function load_ads_script(){
    if( !is_user_logged_in() ){
        // The "!" makes sure the user is _not_ logged in.
        wp_enqueue_script( 'jacob-k-ads', get_stylesheet_directory_uri().'/js/ads.js' );
    }
}

您应该使用wp_localize_脚本并读取javascript中的对象。谢谢你的回答,但它根本不起作用广告(弹出窗口)根本不显示。这是js文件的内容:我给你的函数是正确的,但是js文件的内容不正确。在
.js
文件中,实际上不能有
标记。你会想拆散剧本的。将JS文件与代码一起保存,从
K200
开始一直保存,并省略最后一个
标记。不过,在您的脚本中有另一个远程脚本,您必须加载它。因此,更新JS文件后,将远程文件排在个人文件上方:
wp_-enqueue_脚本('clksite-adserve','//p28173.clksite.com/adserve/banner?tid=28173_568703_0&tagid=2&hybridPop=true')
add_action( 'wp_enqueue_scripts', 'load_ads_script' );
function load_ads_script(){
    if( !is_user_logged_in() ){
        // The "!" makes sure the user is _not_ logged in.
        wp_enqueue_script( 'jacob-k-ads', get_stylesheet_directory_uri().'/js/ads.js' );
    }
}