Wordpress jQuery初始化widgets.php区域

时间:2014-07-01 22:32:05

标签: php ajax wordpress

嘿伙计们,我在WordPress(widgets.php)的后端初始化jQuery时遇到了很大的问题。我正在构建一个小部件来显示一些只能通过SOAP访问的选项,所以我不得不使用admin-ajax.php对其进行调整。一切都在前端完美运行,但当涉及到后端时,它完全断开。

function widget_inject() {
echo "<script>
jQuery(document).ready(function($) {
var ajaxurl = '".admin_url('admin-ajax.php')."';
var list_target_id = 'list-target'; //first select list ID
var list_select_id = 'list-select'; //second select list ID
var initial_target_html = '<option value=\"\">Please select category...</option>'; 

$('#'+list_target_id).html(initial_target_html);

$('#'+list_select_id).change(function(e) {

var selectvalue = $(this).val();


$('#'+list_target_id).html('<option value=\"\">Loading...</option>');

if (selectvalue == \"\") {

   $('#'+list_target_id).html(initial_target_html);
} else {

  $.ajax({url: ajaxurl,
  data: {
        action: 'parentcatajax1',
        parentCat: selectvalue
    },
         success: function(output) {
            //alert(output);
            $('#'+list_target_id).html(output);
        },
      error: function (xhr, ajaxOptions, thrownError) {
        alert(xhr.status + \" \"+ thrownError);
      }});
    }
});
});</script>";
}
add_action('admin_enqueue_scripts','widget_inject');

^这就是我正在尝试的。我试过admin-init,admin-head,admin-footer它们似乎都没有用。 &安培;是的,我有...

add_action('wp_ajax_nopriv_parentcatajax1', 'parentCatCallback1');
add_action('wp_ajax_parentcatajax1', 'parentCatCallback1');

我的ajax功能;它在前端完美运行。

我对于客户和我来说仍处于停滞状态。无法弄清楚该怎么做。 有什么建议?提前谢谢!

1 个答案:

答案 0 :(得分:2)

在wordpress初始化jQuery之前打印你的jQuery。 Wp_enqueue脚本不是它开始将脚本打印到页面上的点。下面将清除你的jQuery未定义错误,让我知道此后是否有更多错误。

function widget_inject() {
   echo "<script>
             jQuery(document).ready(function($) {
         alert('ready');//re-enter your code here
             })(jQuery);
         </script>";
}
add_action('admin_print_scripts','widget_inject', 100);//hook= 'admin_print_scripts'