有没有自动将文章中出现的标签放上链接?然后多次探索探究找到了自动将文章中出现的标签加链接的方法。这方法很简单,将下面的代码添加到主题的 functions.php 即可:

    /**

     * WordPress 自动为文章标签添加该标签的链接

     * http://www.foxsem.com/

     */

    $match_num_from = 1;  // 一个标签在文章中出现少于多少次不添加链接

    $match_num_to = 1; // 一篇文章中同一个标签添加几次链接

    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;

    }


你可以根据自己的需要修改文章标签的链接数。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。