如何将样式应用于列表的每个类别?

时间:2016-04-30 作者:JorgeAmVF

我需要创建一个简单的插件来显示帖子正文中的类别列表,由于我对编码还不熟悉,我搜索了一些基础知识,并开始做一些小的更改;现在看起来是这样的:

// [cats]
function catting ( $atts, $content = null ) {
global $post;
$categories = get_the_category_list(  \', \', \'\', $post->ID  );
 return \'<div id="cats" class="catting">\' . $categories . \'</div>\';
}
add_shortcode("cats", "catting");
它简单地显示了列出的帖子的类别,我设法在上面应用了一些自定义样式,以便将其显示为按钮,但该样式作为一个整体应用于短代码,而不是单独影响类别。

我正在尝试使用foreach 并将逗号改为它们之间的空白,但每次我尝试某项操作时,它都会破坏代码,或者根本不会改变任何内容。

我想知道如何在每个类别中分别应用该样式,我提前非常感谢您的帮助。

3 个回复
最合适的回答,由SO网友:Jarod Thornton 整理而成

我修改了您的代码以反映wp_list_categories() Usce建议的功能参考。

此代码段将创建一个无序列表,删除“Categories”列表标题,并添加li 使用单个类别ID初始化,以便可以针对列表中的每个链接。

function catting ($atts, $content = null) { echo \'<div id="cats" class="catting">\' . wp_list_categories(\'title_li=\',\'current_category\') . \'</div>\'; } add_shortcode("cats", "catting");

这里有一些CSS来删除项目符号和边距,因此它的行为本质上与原始代码一样,但li 包装锚固件。

CSS将把我们创建的列表拆分为一条水平线。只需记住修改CSS以进一步自定义结果,即为按钮添加样式。

#cats.catting ul { display: inline; } #cats.catting ul li.cat-item { list-style: none; margin: 0px 10px; }

我希望这能回答你的问题。

SO网友:Alex Black

你不需要为此编写插件——你需要的东西已经存在了。检查此链接:https://wordpress.org/plugins/list-categories/使用此插件,您可以在任何帖子或页面中显示类别。当然,也许你想编写自己的插件,在这种情况下,这个链接会很有帮助。我希望这将有助于你加快进程。

SO网友:Usce

有内置的wordpress函数,所以您可以使用wp\\u list\\u categories()实现。请参考here to learn more

在显示它们之后,如果您想将其显示为按钮,可以执行一些CSS。

我希望这有帮助。

谨致问候,

南加州大学