當(dāng)前位置: 首頁(yè) > 常見(jiàn)問(wèn)題
既然大家都知道Tag的作用,還是有很多站長(zhǎng)不給文章加Tag。主要原因是他們每次發(fā)布文章都要手動(dòng)給文章添加標(biāo)簽,太麻煩了。
那么WordPress網(wǎng)站有可能自動(dòng)給文章添加以前用過(guò)的標(biāo)簽嗎?WordPress站點(diǎn)有沒(méi)有可能自動(dòng)添加鏈接到文章的Tag標(biāo)簽成為內(nèi)部鏈接?這兩個(gè)問(wèn)題的答案都是肯定的。今天給大家分享一下,WordPress網(wǎng)站可以自動(dòng)給文章添加標(biāo)簽,自動(dòng)給這些標(biāo)簽添加鏈接成為內(nèi)部鏈接。
PS:這個(gè)WordPress純代碼自動(dòng)添加文章標(biāo)簽的前提是站點(diǎn)上有足夠多的標(biāo)簽。如果站點(diǎn)只有幾個(gè)標(biāo)簽,增加這個(gè)功能就很雞肋了。
WordPress純代碼實(shí)現(xiàn)自動(dòng)添加文章標(biāo)簽的實(shí)現(xiàn)方法:只需在主題的functions.php文件中添加以下代碼?& gt去做吧。
/*?自動(dòng)為文章添加標(biāo)簽?*/ 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?)?{ ????????????//?如果文章內(nèi)容出現(xiàn)了已使用過(guò)的標(biāo)簽,自動(dòng)添加這些標(biāo)簽 ????????????if?(?strpos($post_content,?$tag->name)?!==?false) ????????????????wp_set_post_tags(?$post_id,?$tag->name,?true?); ????????} ????} }代碼來(lái)自:自動(dòng)添加標(biāo)簽插件
上面代碼的作用是在我們發(fā)布/保存/更新一篇文章的時(shí)候自動(dòng)檢測(cè)文章的內(nèi)容,是否有曾經(jīng)使用過(guò)的標(biāo)簽。如果出現(xiàn),它會(huì)自動(dòng)將這些標(biāo)簽添加到文章中。如果我們的站點(diǎn)有一個(gè)標(biāo)簽:博客導(dǎo)航,那么只要博客導(dǎo)航出現(xiàn)在我們文章的內(nèi)容中,“博客導(dǎo)航”標(biāo)簽就會(huì)自動(dòng)添加到文章中。
WordPress純代碼實(shí)現(xiàn)了在文章中自動(dòng)添加標(biāo)簽內(nèi)部鏈接的方法:另外,在主題的最后一個(gè)functions.php文件中添加以下代碼?& gt去做吧。
/*?自動(dòng)為文章內(nèi)的標(biāo)簽添加內(nèi)鏈?*/ $match_num_from?=?;????????//一篇文章中同一個(gè)標(biāo)簽少于幾次不自動(dòng)鏈接 $match_num_to?=?;??????//一篇文章中同一個(gè)標(biāo)簽較多自動(dòng)鏈接幾次 function?tag_sort($a,?$b){ ????if?(?$a->name?==?$b->name?)?return?; ????return?(?strlen($a->name)?>?strlen($b->name)?)???-?:?; } 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]標(biāo)簽的文章】)).\; ????????????????$url?.=??target=_blank; ????????????????$url?.=?>.addcslashes($cleankeyword,?$).</a>; ????????????????$limit?=?rand($match_num_from,$match_num_to); ????????????????$content?=?preg_replace(?|(<a[^>]+>)(.*)(.$ex_word.)(.*)(</a[^>]*>)|U.$case,?$$%&&&&&%$$,?$content); ????????????????$content?=?preg_replace(?|(<img)(.*?)(.$ex_word.)(.*?)(>)|U.$case,?$$%&&&&&%$$,?$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,);上面代碼的作用是在我們發(fā)布/保存/更新文章的時(shí)候,自動(dòng)檢測(cè)文章的內(nèi)容,以及標(biāo)簽化的內(nèi)容是否出現(xiàn)。如果出現(xiàn),它會(huì)自動(dòng)添加文章中標(biāo)簽的內(nèi)部鏈接。如果這篇文章有一個(gè)標(biāo)簽:博客導(dǎo)航,那么只要我們的文章內(nèi)容中有博客導(dǎo)航,就會(huì)自動(dòng)添加一個(gè)“博客導(dǎo)航”的標(biāo)簽鏈接,成為內(nèi)部鏈接。
只要我們的站點(diǎn)中有足夠多的標(biāo)簽,使用這兩個(gè)代碼自動(dòng)為WordPress站點(diǎn)中的文章添加標(biāo)簽和標(biāo)記,會(huì)大大減少我們的工作量。如果你平時(shí)不喜歡手動(dòng)添加標(biāo)簽,可以試試這個(gè)方法。
作者:徐州百都網(wǎng)絡(luò) | 來(lái)源: | 發(fā)布于:2022-05-09 22:34:03