前面龙哥介绍了《wordpress实现自动关键词和描述的代码》,但是在博客使用了OpenLiteSpeed+Memcached后,该代码提示错误。通过deepseek提交后,优化了代码没有出现错误。现在把代码分享到博客。
- <?php
 - // 初始化默认值避免未定义警告
 - $description = '';
 - $keywords = '';
 - if (is_home()) {
 - $description = "龙哥个人博客,用文字记录生活";
 - $keywords = "龙哥,風子,风子,颩ふ,龙哥博客,龙哥网站,龙哥官方网站,long.ge,www.long.ge";
 - } elseif (is_single()) {
 - // 处理文章描述
 - $raw_content = $post->post_excerpt ?: wp_strip_all_tags($post->post_content);
 - $description = wp_trim_words(str_replace(["\n", "\r"], ' ', $raw_content), 55, '');
 - // 处理关键词
 - $tags = wp_get_post_tags($post->ID);
 - $keywords = implode(', ', array_column($tags, 'name'));
 - } elseif (is_category() || is_tag()) {
 - // 统一处理分类和标签页
 - $title = single_term_title('', false);
 - $description = $title;
 - $keywords = $title;
 - }
 - // 设置默认描述(可选)
 - $description = $description ?: get_bloginfo('description');
 - ?>
 - <meta name="keywords" content="<?php echo esc_attr($keywords); ?>">
 - <meta name="description" content="<?php echo esc_attr($description); ?>">
 
把以上代码放在header.php的<head></head>里,按照通常做法,建议放在<title></title>下方。
以上代码兼容了OpenLiteSpeed和Nginx以及Apache。