使用WordPress搭建网站,文章如何实现自动生成关键字和TAG标签,一个一个写实在太麻烦,今天小编为大家分享两个方法,快来看看吧!
1丶通过标题自动拆分生成关键字
根据目录找到/wp-includes/general-template.php文件
在第1285行左右找到如下代码↓
/** * Displays title tag with content. * * @ignore * @since 4.1.0 * @since 4.4.0 Improved title output replaced `wp_title()`. * @access private */ function _wp_render_title_tag() { if ( ! current_theme_supports( 'title-tag' ) ) { return; } echo '<title>' . wp_get_document_title() . '</title>' . "\n"; } |
更改为
/** * Displays title tag with content. * * @ignore * @since 4.1.0 * @since 4.4.0 Improved title output replaced `wp_title()`. * @access private */ function _wp_render_title_tag() { if ( ! current_theme_supports( 'title-tag' ) ) { return; } // 文章标题 $title = wp_get_document_title(); // 先展示<title/> echo '<title>' . $title . '</title>' . "\n"; // 标题格式会带有站点信息, 这里将其截去. // 大家在使用的时候需要根据自己的情况修改`-19`这个参数 $title = trim(substr($title, 0, -19)); // 中文标题中包含的英文一般都是完整的关键词. // 而pullword这个分词工具对英文的效果不太好, 这里先将英文关键词提取出来 preg_match_all('/[a-zA-Z]+[0-9a-zA-Z]+/', $title, $matches); $engKeywords = join(",", $matches[0]); // 调用pullword api, param1为最低概率阈值, param2为debug模式开关(0=关闭) $url='http://api.pullword.com/get.php?source='. urlencode($title) .'¶m1=0.9¶m2=0'; $html = trim(file_get_contents($url)); if ($html == "error"){ echo '<meta name="keywords" content="' . $engKeywords. '" />'; return; } // 将分词得到的关键词拼接到tag中 $keywords = str_replace("\n",",",$html); if ($keywords != ""){ if ($engKeywords != ""){ $keywords = $keywords . "," . $engKeywords; } } // 展示keyword <meta> echo '<meta name="keywords" content="' . $keywords . '" />'; } |
2丶根据文章内容和网站原有的关键字词库对比,获取相同的关键词。
根据目录找到主题/wp-content/themes/******/functions.php文件,在?>之前添加如下代码↓
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 ) { if ( strpos($post_content, $tag->name) !== false) wp_set_post_tags( $post_id, $tag->name, true );} } } |
希望可以帮助到您!