WordPressは記事タグの自動抽出とリンクの追加を実装

WordPressは記事タグの自動抽出とリンクの追加を実装


WordPress で記事からタグを自動的に抽出する方法は多数ありますが、最も便利なのはプラグインを使用することです。今日はプラグインを使わずにタグを自動抽出し記事にリンクを追加する方法を紹介します。
ブログのバックエンドにログインし、ブログテーマの function.php 関数を開いて、このファイルに次のコードを追加します。

//連接數量
$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;
}

純粋にあなた自身の便宜のためです。

<<:  月額 19.95 ドル / 512M メモリ / 24G スペース / 2TB トラフィック / XEN VPS —— Linode

>>:  年間20ドル未満のVPS

推薦する

Dewlance: 月額 10.5 ドル / メモリ 1.5GB / SSD スペース 20GB / トラフィック 1TB / KVM / Phoenix / 無料 Windows

以前紹介した Dewlance は、Windows VPS としては次のように優れた価格性能比を誇り...

IOFLOOD: 月額 49 ドル / デュアル L5639 / 24GB メモリ / 240GB SSD ハードドライブ / 10TB トラフィック / Phoenix

IOFLOOD は、2009 年に設立された老舗のアメリカのホスティング プロバイダーで、独立した...

z.com: 月額 7 ドル / 1GB / 50GB SSD / 2TB トラフィック / 1 IP / KVM / 日本 / シンガポール

日本のGNOグループが所有するz.comは、日本、シンガポール、サンノゼなどにデータセンターを構えて...

ゲティアンインターネット: 20元/月/2GBメモリ/70GBスペース/無制限トラフィック/10Mbpsポート-30Mbpsポート/KVM/サンノゼ

中国の新興商人であるGeTian Internetは、サンノゼ、香港CN2などでVPSを提供していま...

Wishosting: 月額 3.33 ドル / 2GB RAM / 600GB ハードドライブ / 無制限トラフィック / KVM / フランス

Wishosting は、ホスティング百科事典で何度も紹介されている、非常に優れたホスティング プロ...

無料メールボックスと無料ファックス: CNTV メールボックス

CNTV は、無料のメールボックス、8GB のスペース、2GB の大容量添付ファイル、そして最も重要...

Godaddy 1GB RAM 1Gbps ポート シンガポール KVM VPS レビュー

詳細: Godaddy: 月額 7.99 ドル/1GB メモリ/20GB SSD スペース/無制限ト...

NovoServe: 月額 850 ユーロ/E5-2650 v2/64GB RAM/480GB NVMe ハードドライブ/無制限帯域幅/10Gbps ポート/オランダ

NovoServe はオランダの商人であり、正式な会社 (商工会議所 ID: 59844299 | ...

CloudCone: 年間 25 ドル/512 MB メモリ/15 GB スペース/3 TB トラフィック/1 Gbps/DDOS/KVM/ロサンゼルス CN2 GIA、無制限の自動バックアップ

CloudCone は比較的アクティブなホスティング プロバイダーで、主にロサンゼルス MC VPS...

NETfront 2コア 2GBメモリ SSDハードディスク 160Mbps帯域幅 香港 CN2 KVM VPS レビュー

詳細: NETfront: 月額 10 ドル/4 コア/4GB メモリ/64GB SSD スペース/...

HuskyVPS: 月額 4.99 ドル / メモリ 1G / スペース 50GB / トラフィック 2TB / KVM / フランス

2017 年初頭に設立された HuskyVPS は、現在、次のようにフランスの KVM VPS のみ...