如何实现岗位价值的本土化

时间:2017-06-03 作者:TheOnionMaster

我又有问题了。我编写了一个小JS函数,它可以改变帖子的内容。要将内容传递给函数,我使用以下方法:

function register_and_enqueue_script()
{
    wp_register_script( \'js_script\', plugin_dir_url(__FILE__).\'js/script.js\', array(), \'1.8.5\' );
    wp_enqueue_script(\'js_script\');

    if(\'myPostType\' == get_post_type()) {
        $myCustomValue= nl2br(get_post_meta(get_the_ID(), \'custom_value\', true));    
        wp_localize_script(\'js_script\', \'myCustomValue\', $myCustomValue);
    }
}
add_action(\'wp_enqueue_scripts\',\'register_and_enqueue_script\');
只要只显示一个帖子,这项工作就非常好。如果有多个帖子,只有第一个帖子有效,但其他帖子无效。我还用“Console.Log(someInnerHTML)”检查了它,它总是将第一篇文章的内容传递给脚本。

我需要做什么,以便每个帖子都将自己的内容传递给函数?

编辑:谢谢你的回答。我能够保存每个帖子的内容。非常感谢你这么做。但现在我有了下一个问题:

function someunfction()
{
    return \'<div>
                <div>
                    <input type="input" onkeyup="doFunction();" "/>
                </div>
            </div>\' ;
}
我如何确保只有实际帖子的内容在改变?

很抱歉,我提出了很多问题:/

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

Try:

function register_and_enqueue_script()
{
    if(\'myPostType\' == get_post_type() && have_posts()) {

        wp_register_script( \'js_script\', plugin_dir_url(__FILE__).\'js/script.js\', array(), \'1.8.5\' );
        wp_enqueue_script(\'js_script\');

        $myCustomValue = array();
        while(have_posts()) {
            the_post();
            $mypostid = get_the_ID();
            $myCustomValue[\'\'.$mypostid] = nl2br(get_post_meta($mypostid, \'custom_value\', true));
        } // end while
        rewind_posts();

        wp_localize_script(\'js_script\', \'myCustomValue\', $myCustomValue);

    } // end if
}
结束