Jquery 在wordpress中获取父猫名-主题修改

Jquery 在wordpress中获取父猫名-主题修改,jquery,wordpress,user-interface,autocomplete,parent,Jquery,Wordpress,User Interface,Autocomplete,Parent,我一直在修改主题,我想用父子类别输出来更改wordpressjquery.ui.autocomplete下拉列表的平面类别输出 因此,我想定义新属性category:{$cat->parent},并在呈现列表中调用它而不是item.label(请参见.append(“+item.category+”)) 如果这能奏效,我可以给父类别一个不同于其他类别的样式。但是我无法输出名称而不是ID $cat->parent抛出与父cat类别对应的ID列表(如果没有父cat,则给出)。我怎么能把父母的名字扔掉

我一直在修改主题,我想用父子类别输出来更改wordpress
jquery.ui.autocomplete
下拉列表的平面类别输出

因此,我想定义新属性
category:{$cat->parent}
,并在呈现列表中调用它而不是item.label(请参见
.append(“+item.category+”)

如果这能奏效,我可以给父类别一个不同于其他类别的样式。但是我无法输出名称而不是ID

$cat->parent
抛出与父cat类别对应的ID列表(如果没有父cat,则给出)。我怎么能把父母的名字扔掉呢


实现我需要的另一种方法是获取父cat ID(如下例所示),然后定义输出样式,如:

  • 如果cat的父cat=0,则应用此样式
  • 如果cat的父cat=其他样式,则应用其他样式
谁能给我指出正确的方向吗?我不是一个好的程序员。我几乎找不到正确的地方编辑这个列表输出。如果这里有人能帮我,那就太好了。我会在主题论坛和这里发布一篇关于修改的教程(如果感谢的话),以尽我所能回馈社区

jQuery(document).ready(function($) {

                var categories = [
                {foreach $categories as $cat}
                    { category: {$cat->parent}, value: {$cat->term_id}, label: {$cat->name} }{if !($iterator->last)},{/if}
                {/foreach}
                ];
                var locations = [
                {foreach $locations as $loc}
                    { value: {$loc->term_id}, label: {$loc->name} }{if !($iterator->last)},{/if}
                {/foreach}
                ];
                var catInput = $( "#dir-searchinput-category" ),
                    catInputID = $( "#dir-searchinput-category-id" ),
                    locInput = $( "#dir-searchinput-location" ),
                    locInputID = $( "#dir-searchinput-location-id" );

                if(catInput.length > 0) {
                    catInput.autocomplete({
                        minLength: 0,
                        source: categories,
                        focus: function( event, ui ) {
                            catInput.val( ui.item.label.replace(/&/g, "&") );
                            return false;
                        },
                        select: function( event, ui ) {
                            catInput.val( ui.item.label.replace(/&/g, "&") );
                            catInputID.val( ui.item.value );
                            return false;
                        }
                    }).data( "ui-autocomplete" )._renderItem = function( ul, item ) {
                        return $( "<li>" )
                            .data( "item.autocomplete", item )
                            .append( "<a>" + item.category + "</a>" )
                            .appendTo( ul );
                    };
                    var catList = catInput.autocomplete( "widget" );
                    catList.niceScroll({ autohidemode: false });

                    catInput.click(function(){
                        catInput.val('');
                        catInputID.val('0');
                        catInput.autocomplete( "search", "" );
                    });
                }
jQuery(文档).ready(函数($){
变量类别=[
{foreach$类别为$cat}
{category:{$cat->parent},value:{$cat->term_id},label:{$cat->name}{if!($iterator->last)},{/if}
{/foreach}
];
变量位置=[
{foreach$位置为$loc}
{value:{$loc->term_id},标签:{$loc->name}{if!($iterator->last)},{/if}
{/foreach}
];
var catInput=$(“#目录搜索输入类别”),
catInputID=$(“#目录搜索输入类别id”),
locInput=$(“#目录搜索输入位置”),
locInputID=$(“#目录搜索输入位置id”);
如果(catInput.length>0){
catInput.autocomplete({
最小长度:0,
资料来源:类别,
焦点:功能(事件、用户界面){
catInput.val(ui.item.label.replace(/&;/g,“&”);
返回false;
},
选择:功能(事件、用户界面){
catInput.val(ui.item.label.replace(/&;/g,“&”);
catInputID.val(ui.item.value);
返回false;
}
}).data(“ui自动完成”)。\u renderItem=功能(ul,项目){
返回$(“
  • ”) .data(“item.autocomplete”,item) .append(“+item.category+”) .附录(ul); }; var catList=catInput.autocomplete(“小部件”); niceSoll({autohidemode:false}); catInput.click(函数(){ catInput.val(“”); catInputID.val('0'); catInput.autocomplete(“搜索”和“); }); }
  • 我已成功将另一种样式(内联css仅用于测试!)附加到每个父类别项目。如果我现在能够按父->子层次结构对项目进行排序,我将获得所需的

    这里有人能告诉我怎么做吗?以下是当前代码:

    jQuery(文档).ready(函数($){

    var类别=[
    {foreach$类别为$cat}
    {category:{$cat->parent},value:{$cat->term_id},label:{$cat->name}{if!($iterator->last)},{/if}
    {/foreach}
    ];
    变量位置=[
    {foreach$位置为$loc}
    {value:{$loc->term_id},标签:{$loc->name}{if!($iterator->last)},{/if}
    {/foreach}
    ];
    var catInput=$(“#目录搜索输入类别”),
    catInputID=$(“#目录搜索输入类别id”),
    locInput=$(“#目录搜索输入位置”),
    locInputID=$(“#目录搜索输入位置id”);
    如果(catInput.length>0){
    catInput.autocomplete({
    最小长度:0,
    资料来源:类别,
    焦点:功能(事件、用户界面){
    catInput.val(ui.item.label.replace(/&;/g,“&”);
    返回false;
    },
    选择:功能(事件、用户界面){
    catInput.val(ui.item.label.replace(/&;/g,“&”);
    catInputID.val(ui.item.value);
    返回false;
    }
    }).data(“ui自动完成”)。\u renderItem=功能(ul,项目){
    如果(item.category!=0){
    返回$(“
  • ”) .data(“item.autocomplete”,item) .append(“+item.label+”) .附录(ul); } 否则{ 返回$(“
  • ”) .data(“item.autocomplete”,item) .append(“+item.label+”) .附录(ul); } }; var catList=catInput.autocomplete(“小部件”); niceSoll({autohidemode:false}); catInput.click(函数(){ 卡廷普
                var categories = [
                {foreach $categories as $cat}
                    { category: {$cat->parent}, value: {$cat->term_id}, label: {$cat->name} }{if !($iterator->last)},{/if}
                {/foreach}
                ];
                var locations = [
                {foreach $locations as $loc}
                    { value: {$loc->term_id}, label: {$loc->name} }{if !($iterator->last)},{/if}
                {/foreach}
                ];
                var catInput = $( "#dir-searchinput-category" ),
                    catInputID = $( "#dir-searchinput-category-id" ),
                    locInput = $( "#dir-searchinput-location" ),
                    locInputID = $( "#dir-searchinput-location-id" );
    
                if(catInput.length > 0) {
                    catInput.autocomplete({
                        minLength: 0,
                        source: categories,
                        focus: function( event, ui ) {
                            catInput.val( ui.item.label.replace(/&amp;/g, "&") );
                            return false;
                        },
                        select: function( event, ui ) {
                            catInput.val( ui.item.label.replace(/&amp;/g, "&") );
                            catInputID.val( ui.item.value );
                            return false;
                        }
                    }).data( "ui-autocomplete" )._renderItem = function( ul, item ) {
                        if ( item.category != 0 ) {
                                return $( "<li>" )
                                .data( "item.autocomplete", item )
                                .append( "<a>" + item.label + "</a>" )
                                .appendTo( ul );       
                                }
                        else {
                        return $( "<li>" )
                        .data( "item.autocomplete", item )
                        .append( "<a style='font-weight:bold;'>" + item.label + "</a>" )
                        .appendTo( ul );       
                        }
                    };
                    var catList = catInput.autocomplete( "widget" );
                    catList.niceScroll({ autohidemode: false });
    
                    catInput.click(function(){
                        catInput.val('');
                        catInputID.val('0');
                        catInput.autocomplete( "search", "" );
                    });
                }