新安装的wordpress没有关键词Keywords和元描述Description,需要自行添加,方法一般有两种,第一种是靠第三方插件,第二种就是今天要介绍的纯代码。有代码洁癖的可以考虑这种。本代码主要功能就是主页自主设定关键词和元描述,文章也采集标签做关键词keywords,文章内容的前100字做元描述Description。
找到wordpress模板中的hearder.php,在“<head>”与“</head>”标签中添加如下代码:
<meta charset="<?php bloginfo( 'charset' );?>"> <meta name="viewport" content="width=device-width"> <title><?php wp_title( '|', true, 'right' ); ?></title> <?php $description = ''; $keywords = ''; if (is_home() || is_page()) { // 将以下引号中的内容改成你自己的主页 description $description = "改成你自己主页的元描述"; // 将以下引号中的内容改成你自己的主页 keywords $keywords = "改成你自己网站主页的关键词"; } elseif (is_single()) { $description1 = get_post_meta($post->ID, "description", true); $description2 = str_replace("\n","",mb_strimwidth(strip_tags($post->post_content), 0, 200, "…", 'utf-8')); // 填写自定义字段 description 时显示自定义字段的内容,否则使用文章内容前 200 字作为描述 $description = $description1? $description1 : $description2; // 填写自定义字段 keywords 时显示自定义字段的内容,否则使用文章 tags 作为关键词 $keywords = get_post_meta($post->ID, "keywords", true); if($keywords == '') { $tags = wp_get_post_tags($post->ID); foreach ($tags as $tag ) { $keywords = $keywords. $tag->name. ", "; } $keywords = rtrim($keywords, ', '); } } elseif (is_category()) { // 分类的 description 可以到后台 - 文章 -分类目录,修改分类的描述 $description = category_description(); $keywords = single_cat_title('', false); } elseif (is_tag()){ // 标签的 description 可以到后台 - 文章 - 标签,修改标签的描述 $description = tag_description(); $keywords = single_tag_title('', false); } $description = trim(strip_tags($description)); $keywords = trim(strip_tags($keywords)); ?> <meta name="description" content="<?php echo $description;?>"> <meta name="keywords" content="<?php echo $keywords;?>">
修改完之后的完整代码效果如下:
<head> <meta charset="<?php bloginfo( 'charset' );?>"> <meta name="viewport" content="width=device-width"> <title><?php wp_title( '|', true, 'right' ); ?></title> <?php $description = ''; $keywords = ''; if (is_home() || is_page()) { // 将以下引号中的内容改成你自己的主页 description $description = "自己网站主页的元描述"; // 将以下引号中的内容改成你自己的主页 keywords $keywords = "自己网站主页的关键词"; } elseif (is_single()) { $description1 = get_post_meta($post->ID, "description", true); $description2 = str_replace("\n","",mb_strimwidth(strip_tags($post->post_content), 0, 200, "…", 'utf-8')); // 填写自定义字段 description 时显示自定义字段的内容,否则使用文章内容前 200 字作为描述 $description = $description1? $description1 : $description2; // 填写自定义字段 keywords 时显示自定义字段的内容,否则使用文章 tags 作为关键词 $keywords = get_post_meta($post->ID, "keywords", true); if($keywords == '') { $tags = wp_get_post_tags($post->ID); foreach ($tags as $tag ) { $keywords = $keywords. $tag->name. ", "; } $keywords = rtrim($keywords, ', '); } } elseif (is_category()) { // 分类的 description 可以到后台 - 文章 -分类目录,修改分类的描述 $description = category_description(); $keywords = single_cat_title('', false); } elseif (is_tag()){ // 标签的 description 可以到后台 - 文章 - 标签,修改标签的描述 $description = tag_description(); $keywords = single_tag_title('', false); } $description = trim(strip_tags($description)); $keywords = trim(strip_tags($keywords)); ?> <meta name="description" content="<?php echo $description;?>"> <meta name="keywords" content="<?php echo $keywords;?>"> <link rel="profile" href="https://gmpg.org/xfn/11" /> <link rel="pingback" href="<?php echo esc_url( get_bloginfo( 'pingback_url' ) ); ?>"> <?php // Loads HTML5 JavaScript file to add support for HTML5 elements in older IE versions. ?> <!--[if lt IE 9]> <script src="<?php echo esc_url( get_template_directory_uri() ); ?>/js/html5.js?ver=3.7.0" type="text/javascript"></script> <![endif]--> </head>