我需要为WooCommerce产品类别动态创建元字段。几乎每件事都能成功,只有一件事需要我去解决。我需要从php获取动态$count变量,并将其用于javascript文件。为此,我尝试使用wp\\u localize\\u脚本。下面是我的函数,用于将需要使用$count变量的脚本排队。
function register_admin_scripts(){
wp_enqueue_script(\'admin-scripts\', get_template_directory_uri() . \'/js/admin-scripts.js\', array(\'jquery\'), true);
wp_localize_script(\'admin-scripts\',\'count\', array(\'value\'=>$here_i_need_count_variables));
}
add_action(\'admin_enqueue_scripts\',\'register_admin_scripts\');
这是我在产品类别中注册动态添加的元字段的函数。我需要得到$count变量,并在上面的本地化脚本中使用它。
function product_edit_cat_meta_field($term) {
$links = get_term_meta($term->term_id, \'links\', true);
?>
<tr>
<td><?php
$count = 0;
if(is_array ($links)) {
foreach($links as $link) {
if(isset($links)) {
printf(\'<span>
<input type="text" name="link[%1$s] value="%2$s" />
<input class="button remove" type="button" value="%3$s" />
</span>\',
$count, $link, __(\'Remove Link\') );
$count = $count + 1;
}
}
} ?>
<span id="addHere"></span>
<input class="button add" type="button" value="Add Link">
</td>
</tr>
<?php
}
add_action( \'product_cat_edit_form_fields\',\'product_edit_cat_meta_field\', 40, 2 );
这可能是一件简单的事情,但我坚持了下来,不知道该怎么解决。任何帮助都将不胜感激。
最合适的回答,由SO网友:Tim Elsass 整理而成
我nst型e一d of p一ss我ng级 count型 t型h类roug级h类 wp_loc一l我ze_scr我pt型
you sh类ould just型 h类一ndle t型h类e JS log级我c 我n JS. For ex个一m级ple 我n JS:
个A.;个A.;
v一r count型 = docum级ent型.querySelect型orA.ll( \'我nput型[n一m级e^=“”l我nk“”]\' ).leng级t型h类;个A.;
个A.;个A.;
Th类一t型 would g级et型 t型h类e count型 of 一ll 我nput型
elem级ent型s wh类ere t型h类e n一m级e
一t型t型r我but型e st型一rt型s w我t型h类 l我nk
.
个A.;个A.;
我t型 would be m级ore perform级一nt型 t型o scope t型h类e select型or by 一dd我ng级 一 cl一ss t型o t型h类e sp一n t型h类一t型 我s un我que t型o your plug级我n or t型h类em级e:
个A.;个A.;
我n your PHP:
个A.;个A.;
pr我nt型f(\'<型;sp一n cl一ss=“”t型h类em级e-n一m级e-t型erm级-我nput型“”&g级t型;个A.; <型;我nput型 t型ype=“”t型ex个t型“” n一m级e=“”l我nk[%1.$s] v一lue=“”%2.$s“” /&g级t型;个A.; <型;我nput型 cl一ss=“”but型t型on rem级ove“” t型ype=“”but型t型on“” v一lue=“”%3.$s“” /&g级t型;个A.; <型;/sp一n&g级t型;\', 个A.; $count型, $l我nk, __(\'Rem级ove L我nk\') );个A.;
个A.;个A.;
Th类en t型h类e JS:
个A.;个A.;
v一r count型 = docum级ent型.querySelect型orA.ll( \'.t型h类em级e-n一m级e-t型erm级-我nput型\' ).leng级t型h类;个A.;
个A.;个A.;
Th类我s would 一lso h类elp prot型ect型 一g级一我nst型 ot型h类er plug级我ns (or t型h类em级es) wh类我ch类 m级我g级h类t型 一dd f我elds w我t型h类 s我m级我l一r n一m级我ng级 const型ruct型s prov我d我ng级 我ncorrect型 count型s.
个A.;个A.;
我n m级ost型 c我rcum级st型一nces you need t型o upd一t型e count型 一s well 我n JS 一s t型h类我ng级s 一re 一dded/rem级oved. By do我ng级 t型h类e s一m级e query,