Jquery 在wordpress中获取父猫名-主题修改
我一直在修改主题,我想用父子类别输出来更改wordpressJquery 在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,则给出)。我怎么能把父母的名字扔掉
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(/&/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 ) {
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", "" );
});
}