WordPress純代碼實(shí)現自動(dòng)為文章添加標簽及標簽內鏈接 DATE: 2026-05-05 07:03:13
在WordPress中,代碼可以使用PHP代碼在文章發(fā)布時(shí)自動(dòng)添加標簽及標簽內鏈接。實(shí)現需要在主題的自動(dòng)章添functions.php文件中添加以下代碼:,,為文“php,加標接function auto_add(′_`)_tags($post_ID(???)) { ,簽及 $my_post = array();,標簽 $my_post['ヾ(′?`)?ID']ヾ(′?`)? = $post_ID;,內鏈 $my_post['post_type'] = 'post';,代碼 $my_post['post_status'] = 'publish';,實(shí)(shi)現 $my_post['ヾ(′ω`)?numberpo(′▽?zhuān)?sts'] = 1;,自動(dòng)章添 $my_post['meta_key'] = 'auto_tag';,為文 $my_post['meta_value'] = '';,加標接 $my_post['meta_co??mpare'] = 'NOT EXISTS';,簽及 $my_posts = get_posts($my_post);,標簽 foreach ($my_posts as $my_p??ost) { , $content = $my_post->post_content;, $keywords = explode(' ', $content);, foreach?? ($keywords as $keyword) { , $tag = get_tag_by_name($keyword);, if (!empty($tag)) { , $tag_id = $tag-(′;ω;`)>term_id;, wp_set_object_terms($post_ID, $tag_id, 'post_tag',?? fals??e);, } else { , if (strlen($keyword) > 2) { , $new_tag = array(, 'nam??e' => $keyword,, 'slug' => sanitize_??title($keyword),, 'description' => $k??eyword, );, $new_tag_id = wp_insert_term($new_tag, 'post_tag');, if (!is_wp_error($new_tag_id)) { , wp_set_object_terms($post_ID, $new_tag_id['term_id'], 'post_tag', false);, }, }, }, }, },},add_action('publish_post', 'auto_add_tags');,̶(???)0;,,這段ヾ(′?`)?代碼會(huì )在文章發(fā)布時(shí)自動(dòng)提取文章中的關(guān)鍵詞作為標簽,如(⊙_⊙)果(guo)標簽已經(jīng)存在,則直接關(guān)聯(lián);如果不存在,則(ze)創(chuàng )建新的標簽并(T_T)關(guān)聯(lián)。會(huì )自動(dòng)為標簽(?⊿?)添加內鏈接。
WordPress純代碼實(shí)現自動(dòng)為文章添加標簽及標簽內鏈接
1. 獲取文章標簽
要為文章自動(dòng)添加標簽,??首先需要獲取文章的標簽,可以使用get_the_tags()函數來(lái)獲取當前文章的標簽。
$tags = get_the_tags();
2. 判斷標簽是否存在
在為文章添加標簽之前,需要判斷標簽是否存在,如果標簽存在,(?????)則進(jìn)行下一步操作;如果不存在,則不進(jìn)行任何操作。
if ($tags) { // 標簽存在,進(jìn)行下一步操作} else { // 標簽不存在,不進(jìn)行任何操作}3. 生成標簽??鏈接
如果標簽存在,接下來(lái)需要生成標簽的鏈接,可以使用get_tag_link()函數來(lái)獲取標簽的鏈接。
foreach ($tags as $t??ag) { $tag_link = get_tag_link($tag>term_id);}4. 添加標簽及標簽內鏈接
將生成的標簽及標簽內鏈接添加到文章中,可以使用the_co??ntent過(guò)???濾器來(lái)實(shí)現這個(gè)功能。
function add_tags_to_content($content) { global $post; $tags = get_the_tags($pos??t>ID); if ($tags) { foreヽ(′ー`)ノach ($tags as $tag) { $tag_link?? = getヽ(′?`)ノ_tag_link($tag>term_id);?? $content .= "<a href='{ $tag_link}'>{ $tag>na(′ω`*)me}</a>(′;ω;`);"; } } return $content;}add_filter('the_content', 'add_tags_to_content');相關(guān)問(wèn)題與解答
Q1: 如何自定義標簽的顯示樣式?
A1: 可以通過(guò)修改add_tags_to_conten??t函數中的$content .= "<a href='{ $tag_link}'>{ $tag>name}</a>"??;;??這一行代碼來(lái)自定義標簽的顯示樣式,可以修改為:
$content .= "<s???pan clas(′ω`*)s='mytag'><a href='{ $tag_link}'>{ $tag>n??ame}</a>&l(╯°□°)╯︵ ┻━┻t;/span??>";然后在CSS中定義.mytag的??樣式。
Q2: 如何控制標簽鏈接的┐(′д`)┌打開(kāi)方式?
A2: 可以在<a>標簽中添加target屬性來(lái)控制標簽鏈接的打開(kāi)方式,如果要讓標簽鏈接在新窗口中打開(kāi),可以修改為:
$content .= "<a href='{ $tag_link}' target='_blank'>{ $tag>name}</a>";
