我试图突出显示(使用css)所选帖子中使用的子类别和父类别。
因此,我找到了这个插件“Kahi’s Highlight Used Categories”。
插件网站:http://kahi.cz/wordpress/highlight-used-categories-plugin/
它的作用。。。
它将“used cat”类和“used cat parent”类分别添加到子类别和主类别中进行样式化。
问题是:
我的网站(http://www.mpn.p.ht/wp_br2/), 有三大类:“男性”(意为男性)、“女性”(意为女性)和“婴儿”(意为婴儿)。
所有三个主要类别的子类别都相同。
所以,让我们说一下,我们在帖子页面上的主类别是“男性”,子类别是“Acessórios”(意思是附属品)。。。
该插件似乎将“二手猫”添加到了所有“Acesssórios”(子类别)中,也可以在“Feminino”和“Infantil”中找到。
我想插件添加类\'二手猫\',只到所选职位的子类别。不是通过“类别”列表找到具有相同名称的所有子类别。
以下是插件代码:
<?php
/*
Plugin Name: Kahi\'s Highligh Used Categories
Plugin URI: http://www.kahi.cz/wordpress/highlight-used-categories-plugin
Description: In the list of categories, adds classes <code>used-cat</code> and
<code>used-cat-parents</code> to particular list-items (when browsing a post).
Version: 1.0
Author: Peter Kahoun and Dirk Jaster
Author URI: http://www.kahi.cz/wordpress/
*/
class KHUC {
function wp_list_categories ($text) {
global $post;
if (is_singular()) {
$categories = wp_get_post_categories($post->ID);
foreach ($categories as $category_id) {
$category = get_category($category_id);
$category_parent = get_category($category->category_parent);
$text = preg_replace(
"/class=\\"(.*)\\"><a ([^<>]*)>$category->name<\\/a>/",
\' class="$1 used-cat"><a $2>\' . $category->name .
\'</a>\',
$text);
$text = preg_replace(
"/class=\\"(.*)\\"><a ([^<>]*)>$category_parent-
>name<\\/a>/",
\' class="$1 used-cat-parent"><a $2>\' .
$category_parent->name . \'</a>\',
$text);
}
}
return $text;
}
}
add_filter(\'wp_list_categories\', array(\'KHUC\',\'wp_list_categories\'));
有人知道我应该在插件代码中做些什么更改吗,所以我只得到使用中的子类别来获得“used cat”类?
最合适的回答,由SO网友:tfrommen 整理而成
使用类别ID:
class KHUC {
function wp_list_categories ($text) {
global $post;
if (is_singular()) {
$categories = wp_get_post_categories($post->ID);
foreach ($categories as $category_id) {
$category = get_category($category_id);
$category_parent = get_category($category->category_parent);
$text = preg_replace(
\'#class="([^"]*cat-item-\'.$category->cat_ID.\'[^"0-9]*)"#\',
\'class="$1 used-cat"\',
$text);
$text = preg_replace(
\'#class="([^"]*cat-item-\'.$category_parent->cat_ID.\'[^"0-9]*)"#\',
\'class="$1 used-cat-parent"\',
$text);
}
}
return $text;
}
}
add_filter(\'wp_list_categories\', array(\'KHUC\', \'wp_list_categories\'));