如何添加一个类到EDIT_POST_LINK?

时间:2015-04-13 作者:Dawid Janiga

我的目标是获得如下“编辑”按钮:

<a class="post-edit-link btn btn-default" href="{$url}">Edit this</a>
我尝试采用的第一次尝试是在参数前添加,在参数后添加

edit_post_link( __(\'Edit this\'), \'<span class="btn btn-default">\', \'</span>\');
但结果并不令人满意:

<span class="btn btn-default">
    <a class="post-edit-link" href="{$url}">Edit this</a>
</span>
首先,这是多余的:我仍然必须更改CSS以自定义编辑按钮,而仅仅为了添加CSS类而获取更多元素是毫无意义的。

第二次尝试成为解决方案。我使用apply filter替换字符串中的类:

function dbj_edit_post_link($output) {
    $output = str_replace(\'class="post-edit-link"\', \'class="post-edit-link btn btn-default"\', $output);
    return $output;
}
add_filter(\'edit_post_link\', \'dbj_edit_post_link\');
是的,这就是我想要的,但真的没有比这更笨拙的解决方案来将类添加到“编辑”按钮吗?

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

假设您将来(2015年12月或以后)正在阅读此答案

从WordPress 4.4.0开始$class 已添加参数。因此:

edit_post_link( __(\'Edit\'), \'\', \'\', 0, \'post-edit-link btn btn-default\' );
请参见edit_post_link documentation.

结束