基于wp_localize_script在动态jQuery中返回布尔值

时间:2013-07-06 01:38:17

标签: jquery wordpress localization boolean

这是我的本地化代码......

global $post;
$meta_value = (get_post_meta($post->ID, '_moon_full_static_area', true) ==  'on') ? 'on' : 'off';
$localize_array = array(
    'moon' => $meta_value
);

wp_enqueue_script( 'moonscript-dynamic', TEMPLATE_URI . '/js/moonscript-dynamic.php', false, THEME_VERSION , true );
wp_localize_script( 'moonscript-dynamic', 'wplocal', $localize_array );

wplocal会返回我的post_meta是开启还是关闭。我在我的jQuery中使用wplocal(我的wp_localize_script中的值),当然它会适当地返回/关闭。
如果打开,如何编写显示jQuery代码,如果为false则不显示?

这是我写的......

if(wplocal.moon === on ){
    function dynamicAdjust() {
        jQuery('#main-home').css('margin-top', jQuery(window).height());        
    }
}  

我在ready函数中传递函数,代码可以工作,但我试图根据布尔值使其动态化?应该很容易,但我仍然在学习jQuery,并且结合本地化让我对如何将其写成真/假感到困惑......

类似于在PHP if语句中包装代码块。它本来就是这样,直到我发现我需要本地化动态脚本。

1 个答案:

答案 0 :(得分:1)

这是编程逻辑和语法问题。您应该真正搜索好的教程,例如here或类似网站。 PHPjQuery手册是必须的。

您正在检查字符串,因此它应为if(wplocal.moon === 'on')。在'on'

中使用引号

你在里面执行该功能,而不是在外面:

function dynamicAdjust() {
    if( wplocal.moon === 'on' ){
        jQuery('#main-home').css('margin-top', jQuery(window).height());        
    }
}