diff --git a/functions.php b/functions.php index 7fc0b8e7..78dc15a9 100755 --- a/functions.php +++ b/functions.php @@ -442,6 +442,67 @@ function pk_icon_mate() { return $str; } +/** + * 输出SEO标题 + * + * @return string SEO标题 + * @author lvshujun + * @date 2024-03-19 + */ +function pk_get_seo_title() { + // 未启用SEO返回空 + if (!pk_is_checked('seo_open',true)) { + return ''; + } + // 用户定义的连接符 + $pk_title_conn = ' ' . pk_get_option("title_conn") . ' '; + // 网站名称 + $pk_blog_name = pk_get_web_title(); + // 分页情况 + $pk_paged_title = ''; + if (get_query_var('paged')) { + $pk_paged_title = $pk_title_conn . '第' . get_query_var('paged') . '页'; + } + // 获取SEO设置 + $pk_custom_seo_title = pk_get_custom_seo()['title'] ?? ''; + // 输出内容 + $pk_title = ''; + // 通用结尾 + $pk_common_end = $pk_paged_title . $pk_title_conn . $pk_blog_name; + // 已经自定义标题 + if (!empty($pk_custom_seo_title)) { + $pk_title .= $pk_custom_seo_title . $pk_common_end; + } else if (is_home()) { + $pk_description = pk_get_option('web_title_2'); + if (!empty($pk_description)) { + $pk_title .= $pk_blog_name . $pk_paged_title . $pk_title_conn . $pk_description; + } else { + $pk_title .= $pk_blog_name . $pk_paged_title; + } + } else if (is_search()) { + $pk_title .= '搜索“' . $_REQUEST['s'] . '”的结果' . $pk_common_end; + } else if (is_single() || is_page()) { + $pk_title .= single_post_title('', false) . $pk_common_end; + } else if (is_year()) { + $pk_title .= get_the_time('Y年') . '的所有文章' . $pk_common_end; + } else if (is_month()) { + $pk_title .= get_the_time('m') . '的所有文章' . $pk_common_end; + } else if (is_day()) { + $pk_title .= get_the_time('Y年m月d日') . '的所有文章' . $pk_common_end; + } else if (is_author()) { + $pk_title .= '作者:' . get_the_author() . $pk_common_end; + } else if (is_category()) { + $pk_title .= single_cat_title('', false) . $pk_common_end; + } else if (is_tag()) { + $pk_title .= single_tag_title('', false) . $pk_common_end; + } else if (is_404()) { + $pk_title .= '你访问的资源不存在' . $pk_common_end; + } else { + $pk_title .= $pk_blog_name . $pk_paged_title; + } + return '