嘿伙计们,我有一个非常基本的问题(即使我知道标题听起来很混乱),最好解释如下。这段代码就是我目前所拥有的:
<?php if (!is_page()): ?><?php ob_start(); ?><?php printf(__('Posted to %s', 'kubrick'), get_the_category_list(', ')); ?>
生成此HTML代码:
Posted to <a href="http://www.example.com/category/" title="View all posts in Category" rel="category tag">Category</a>
正如您所看到的,该类别通过此代码“链接”,但我希望整个短语成为链接的锚文本,如下所示:
<a href="http://www.example.com/category/" title="View all posts in Category" rel="category tag">Posted to Category</a>
如何修改原始PHP代码以在超链接的锚文本中包含“发布到”文本?非常感激! :)
答案 0 :(得分:0)
您可以使用get_the_category()
和get_category_link()
功能,如下所示:
<?php
foreach(get_the_category() as $category)
echo '<a href="'.get_category_link($category->cat_ID).'" title="View all posts in Category" rel="category tag">Posted to '.$category->cat_name.'</a> ';
?>
但是,您可能想要考虑当帖子属于多个类别时会发生什么:您的原始代码将显示以逗号分隔的类别链接列表(例如“发布在foo,bar,qux”中),而此代码将为每个类别显示“发表于[名称]”(例如“发表于foo发表在酒吧发表于qux”)。
还应该注意的是,这个答案没有使用WordPress的__()
函数来翻译适当的结果文本:您可能想考虑如何最好地支持非英语人士。
此外,没有必要在每个连续命令后关闭并重新打开PHP标记 - 只需用分号分隔它们。