我有一个与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>
我怎样才能解决这个问题?有人可以帮忙吗?
提前致谢! 卡拉
答案 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。