// 连接数量 $match_num_from = 1; // 一个关键字少于多少不替换 $match_num_to = 10; // 一个关键字最多替换 // 连接到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; }
WordPress不用插件实现关键词自动添加链接
转载请注明出处:林俊龙博客 » WordPress不用插件实现关键词自动添加链接
相关推荐
-      普洱茶的泡法:飘逸杯泡法
-      这封辞职信,老板看后一夜没睡
-      员工为什么会离职?
-      wordpress不用插件实现阅读数、兼容wp-postview、和wp-super-cache
-      零和博弈原理
-      木桶定律
-      刘强东:十二年互联网从业思考
-      wordpress建站常见问题收集(持续更新)
老板教育我:“在这个残酷的世界上,机会变得很重要。抓住机会活,抓不住机会死。”我点点头,赶紧去菜市场抓了一只鸡…… 一个程序员社区 http://www.1024xyz.com
总感觉自动链接 不放心。。
这个更刺j激,准备好手纸哦 A 片。。 http://uVU.cc/ih8a
@小林博客 额,没出bug,这段代码不会对Crayon Syntax Highlighter代码高亮插件进行链接处理