WordPress给文章内容tag标签添加链接

文章描述:

WordPress给文章内容页里面的内容含有tag标签的添加链接

functions.php

//连接数量
$match_num_from = 1;
//一个关键字少于多少不替换
$match_num_to = 1;
//一个关键字最多替换
//连接到WordPress的模块
add_filter(\'the_content\',\'tag_link\',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, \'$\'),__(\'View all posts in %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;
}

 

© 版权声明
THE END
点赞0打赏 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容