WordPress纯代码实现自动为文章添加标签及标签内链接

WordPress纯代码实现自动添加文章标签的实现方法:只需要将以下代码添加到主题的functions.php文件最后一个?>前即可。

[php]
/* 自动为文章添加标签 */
add_action’save_post’, ‘auto_add_tags’);
function auto_add_tags){
$tags = get_tags array’hide_empty’ => false) );
$post_id = get_the_ID);
$post_content = get_post$post_id)->post_content;
if $tags) {
foreach $tags as $tag ) {
// 如果文章内容出现了已使用过的标签,自动添加这些标签
if strpos$post_content, $tag->name) !== false)
wp_set_post_tags $post_id, $tag->name, true );
}
}
}
[/php]

以上代码的功能就是在我们发布/保存/更新文章时,自动检测文章中的内容,是否出现曾经使用过的标签。如果出现过就会自动为文章添加这些标签。如我们站点有标签:wordpress,那么只要我们的文章内容中出现过wordpress,那么就会自动为该篇文章添加“wordpress”标签。

WordPress纯代码实现自动为文章内的标签添加内链的方法:同样是将以下代码添加到主题的functions.php文件最后一个?>前面即可。

[php]
/* 自动为文章内的标签添加内链 */
$match_num_from = 1; //一篇文章中同一个标签少于几次不自动链接
$match_num_to = 1; //一篇文章中同一个标签最多自动链接几次
function tag_sort$a, $b){
if $a->name == $b->name ) return 0;
return strlen$a->name) > strlen$b->name) ) ? -1 : 1;
}
function tag_link$content){
global $match_num_from,$match_num_to;
$posttags = get_the_tags);
if $posttags) {
usort$posttags, "tag_sort");
foreach$posttags as $tag) {
$link = get_tag_link$tag->term_id);
$keyword = $tag->name;
$cleankeyword = stripslashes$keyword);
$url = "<a href=\"$link\" title=\"".str_replace’%s’,addcslashes$cleankeyword, ‘$’),__’【查看含有[%s]标签的文章】’))."\"";
$url .= ‘ target="_blank"’;
$url .= ">".addcslashes$cleankeyword, ‘$’)."</a>";
$limit = rand$match_num_from,$match_num_to);
$content = preg_replace ‘|<a[^>]+>).*)’.$ex_word.’).*)</a[^>]*>)|U’.$case, ‘$1$2%&&&&&%$4$5’, $content);
$content = preg_replace ‘|<img).*?)’.$ex_word.’).*?)>)|U’.$case, ‘$1$2%&&&&&%$4$5’, $content);
$cleankeyword = preg_quote$cleankeyword,’\”);
$regEx = ‘\’?!<.*?)|<a.*?)))’. $cleankeyword . ‘)?![^<>]*?)>)|[^>]*?</a>))\’s’ . $case;
$content = preg_replace$regEx,$url,$content,$limit);
$content = str_replace ‘%&&&&&%’, stripslashes$ex_word), $content);
}
}
return $content;
}
add_filter’the_content’,’tag_link’,1);

[/php]

以上代码的功能就是在我们发布/保存/更新文章时,自动检测文章中的内容,是否出现标签内容。如果出现过就会自动为文章内的标签添加内链。如这篇文章有标签:boke112导航,那么只要我们的文章内容中出现有boke112导航的,那么就会自动为“boke112导航”添加标签链接变成内链。

只要我们站点的Tag标签够多的情况下,使用这两个代码以实现WordPress站点自动为文章添加标签和标签内链,那么将会大大减少我们的工作量。如果大家平时不喜欢人工添加标签的,不妨试试这个方法。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注