在主菜单中为不同的类别分配不同的类别颜色

时间:2016-03-07 作者:Madeirense

我用ACF创建了一个颜色选择器字段,它显示在每个类别页面上,并允许最终用户为每个类别分配颜色。这是工作得很好,但我希望我的主导航上的类别也被分配在颜色选择器字段上给出的颜色。

我有一个walker类,我想我需要在上面实现它的是下面的代码。因此,我想我需要添加一个内联样式“colour:”,如果菜单项是带有保存颜色选择器字段中类别颜色的变量的分类法。类似于以下内容:

        $item_output = $args->before;
        if( $item->object == \'category\' ) {
            $post_categories = get_the_category();
            foreach( $post_categories as $post_category ) {
                $category_color = get_field( \'category_color\', $post_category);
                $item_output .= \'<a style="color:\' . $category_color . \';"\'. $attributes .\'>\';
            }
        } else {
            $item_output .= \'<a\'. $attributes .\'>\';
        }
        $item_output .= $args->link_before . apply_filters( \'the_title\', $item->title, $item->ID ) . $args->link_after;
        $item_output .= ( $args->has_children ) ? \'<i class="fa fa-angle-down"></i></a>\' : \'</a>\';
        $item_output .= $args->after;
上述代码为主菜单上的所有类别菜单项指定了相同的颜色。我现在想知道如何将每个类别页面颜色选择器字段上选择的颜色分配给每个类别菜单项。

1 个回复
最合适的回答,由SO网友:Madeirense 整理而成

终于成功了!

没有什么比睡个好觉更能重新启动大脑了:)

有效的更新代码:

$item_output = $args->before;
if( $item->object == \'category\' ) {
    $category = get_category( $item->object_id );
    $category_color = get_field( \'category_color\', $category);
    $item_output .= \'<a style="color:\' . $category_color . \';"\'. $attributes .\'>\';
} else {
    $item_output .= \'<a\'. $attributes .\'>\';
}
$item_output .= $args->link_before . apply_filters( \'the_title\', $item->title, $item->ID ) . $args->link_after;
$item_output .= ( $args->has_children ) ? \'<i class="fa fa-angle-down"></i></a>\' : \'</a>\';
$item_output .= $args->after;

相关推荐

在WP搜索表单中是否有类似`wp_Dropdown_Categories()`的输入复选框选项?

我有自定义的帖子类型,当前正在使用wp_dropdown_categories() 在WP搜索表单中的功能,以便人们能够按薪资级别和工作类型进行筛选。是否有一个等效函数,以便用户可以使用输入复选框元素而不是<select> 元素,以便他们在进行搜索时可以选择多个工作类型或薪资水平?我似乎在开发者文档中找不到任何东西。我正在寻找的是允许复选框替换使用下面代码中的select选项的下拉元素的东西。<form method="get" action="<?p