Wordpress:在wp_get_archives下拉列表中创建自定义值

时间:2017-01-03 14:07:41

标签: wordpress filter dropdown

我有一个与Wordpress相关的问题。现在我正在获取我的年度定制后期类型存档,如下所示:

$args = array ( 
   'type' => 'yearly',
   'post_type'    => 'project',
   'format' => 'custom',
   'before' => '<li value="2016" data-filter-value=".classof2016">',
   'after' => '</li>'
);

wp_get_archives($args);             

如您所见,我正在创建一个与年份相关的值和数据过滤器值。结果应如下所示:

<li value="2016" data-filter-value=".classof2016">2016</li>
<li value="2015" data-filter-value=".classof2015">2015</li>
<li value="2014" data-filter-value=".classof2014">2014</li>

我怎样才能解决这个问题?有人可以帮忙吗?

提前致谢! 卡拉

1 个答案:

答案 0 :(得分:1)

wp_get_archives()使用get_archives_link(),这是我们可以使用的过滤器钩子。

Sourcecode是最好的文档。

试试这个(在functions.php中):

add_filter( 'get_archives_link', function( $link_html, $url, $text, $format, $before, $after ) {

    if ( 'custom' == $format ) {
        $link_html = "\t<li value=\"". esc_attr( $text ) ."\" data-filter-value=\".classof". esc_attr( $text ) ."\">$before<a href='$url'>$text</a>$after</li>\n";
    }

    return $link_html;

}, 10, 6 );

但顺便说一下:value元素中的li属性不是有效的HTML。