WordPress免插件自动为文章添加已使用过的标签,并且自动生成内链 | 悦目网 - 新媒体营销交流互动平台

WordPress免插件自动为文章添加已使用过的标签,并且自动生成内链

2016-09-16    分类:WordPress   0人评论 1,019人浏览

WordPress每次都要手动给文章添加标签,很麻烦?不知文章是否出现以前用过的标签,怎么办?

以下代码就可以免插件解决这些问题,它会在你发布/保存文章时,检测文章的内容中,是否出现曾经使用过的标签,如果出现,就自动为文章添加这些标签。

WordPress 自动为新文章添加已使用过的标签

将代码添加到主题的 functions.php 即可:

/**
 * WordPress 自动为文章添加已使用过的标签
 * http://yuemov.com/4496
 */
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 );
		}
	}
}

代码出自:http://wordpress.org/plugins/auto-add-tags/

WordPress文章自动提取tag并添加链接

登录博客后台,打开博客主题的function.php功能函数,在这个文件里面添加如下代码:

/**
 * WordPress文字标签关键词自动内链
 * http://yuemov.com/4496
*/
$match_num_from = 1; 
$match_num_to = 3; 
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);

 

转载请注明:悦目网 - 新媒体营销交流互动平台 » WordPress免插件自动为文章添加已使用过的标签,并且自动生成内链

本文作者: