黑客攻击WordPress类别小部件

时间:2010-04-21 21:10:33

标签: php wordpress

默认的WordPress类别窗口小部件不允许排除命名类别。

我创建了一个插件,可以创建一个自定义类别窗口小部件到“可用窗口小部件”列表,它可以控制我想要排除的项目。代码如下......

<?php
/*
Plugin Name: Custom Categories Widget
Plugin URI: http://mysite.com
Description: Removes the Specified Categories from the Default Categories Listing
Author: Me
Version: 1.0
Author URI: http://mysite.com
*/


function widget_my_categories() 
{
    wp_list_categories('exclude=1');
}

function my_categories_init()
{
  register_sidebar_widget(__('Custom Categories Widget'), 'widget_my_categories');
}

add_action("plugins_loaded", "my_categories_init");
?>

但是,我希望生成的代码模仿与默认类别窗口小部件相同的外观(即,“类别”一词在我的窗口小部件中显示为子弹,但作为默认类别窗口小部件中的h4级别标题元素我希望将相同的结构应用于我的自定义小部件,因为默认类别小部件具有。

我还想为用户提供指定类别列表标题的选项(就像在默认类别小部件中一样)。

不过,我正在使用id 1,这是默认的“未分类”类别,并将项目分配给我不希望出现在列表中的该类别。

任何帮助非常感谢! :)

1 个答案:

答案 0 :(得分:6)

类别小部件的代码位于wp-includes/default_widgets.php。只需复制WP_Widget_Categories类,重命名它,并将额外的参数添加到wp_list_categories调用。

或者,您可以使用wp_list_categories过滤器修改窗口小部件中widget_categories_args调用的参数,但这将适用于窗口小部件的所有实例。