如何为档案项目添加标题属性

时间:2013-12-26 作者:Eric

如何使每个列出的存档项目都具有title属性,因此当我悬停某个项目时,它会显示:查看存档中的所有帖子:“”

$html = wp_get_archives( array(
    \'show_post_count\' => false,
    \'echo\' => true,
) );
// Wrap the post count in a span element
$html = preg_replace( \'~(&nbsp;)(\\(\\d++\\))~\', \'$1&rsaquo;&#32;<span class="count">$2</span>\', $html );
// Output the result
echo $html;

1 个回复
SO网友:s_ha_dum

如果你look at the source, 您将看到HTML 由生成get_archives_link, 应用过滤器get_archives_link. 向该过滤器应用回调可能是添加title属性最简单的方法。不幸的是,它不是一个更友好的过滤器,需要您对生成的标记进行正则化,以便执行大部分操作。

让我们浏览一下您的代码。

首先,如果要在打印之前操作代码,需要设置echo 为真。如前所述,链接会立即打印到屏幕上,并且不会在$html 变量

第二,我不知道你为什么要在你show_post_count 设置为false. 我假设这只是调试。

第三,标记已经有了一个title属性,这使得这相当容易。这就是过滤器的作用。

function archive_title_attr_wpse_127698($html) {
  $pat = "|title=\'([^\']+)\'|";
  $html = preg_replace($pat,"title=\'View all posts in archive: $1\'",$html);
  return $html;
}
add_filter(\'get_archives_link\',\'archive_title_attr_wpse_127698\');
您可以在中定义该回调functions.php 或者在插件中,但您可能希望在要操作的链接之前应用它,然后使用删除它remove_filter(\'get_archives_link\',\'archive_title_attr_wpse_127698\');... 除非你想产生全球性的影响。

结束

相关推荐

wp_query inside the_loop

我的循环有这个问题。我正在制作一个将从主查询调用的快捷码。它将显示在\\u循环的首页上。因为某种我无法理解的原因。第二个查询只显示一篇文章,而它应该显示3篇。因此,短代码将出现在页面内容中。在“设置”部分,我将首页设置为“主页”,将博客页面设置为“博客”,但主页不是模板。它是由索引生成的。使用WordPress 2014主题的php页面。因此,在“主页”内容区域,我有一个快捷码,它生成第二个循环,从一个名为“特色”的类别中获取3篇文章。 $featured = new WP_Query( array( \