前面龙哥介绍了《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。