wordpress主题自带的404页面过于简单,只是显示了一个page not found,左侧区域空荡荡的,与右侧的侧边栏搭配丑的一p。于是就尝试进行改造了一下,第一次改造在404页面加了下部的随机文章。代码如下:
代码语言:javascript复制 20, 'orderby' => 'rand', 'post_status' => 'publish' );
$rand_posts = get_posts( $args );
foreach( $rand_posts as $post ) : ?>
-
今天心血来潮,觉得可以根据访问的404页面的url直接进行搜索展示可能得访问页面或者结果。我不是专业的php程序员,边搜索边写,硬拼凑了这些代码实现了这个功能,效果如上图所示,整体来说就河蟹多了。
代码也非常简单:
代码语言:javascript复制request );
//echo($current_slug);
// 路径进行拆分
$keywords = explode('/', $current_slug);
$search_keyword_string = $keywords[count($keywords)-1];
// urldecode 进行关键字处理
$search_keyword_string = urldecode_deep($search_keyword_string);
$search_keyword_string = str_replace('-', '', $search_keyword_string);
// echo($search_keyword_string);
// 使用 - 进行关键词拆分
$args = array('s'=>$search_keyword_string);
// echo("Url Keywords: " $args[0]);
// The Query 查询
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) {
//_e("
Search Results for: ".get_query_var('s')."
");
while ( $the_query->have_posts() ) {
$the_query->the_post();
?>
-
20, 'orderby' => 'rand', 'post_status' => 'publish' );
$rand_posts = get_posts( $args );
foreach( $rand_posts as $post ) : ?>
-
2020.09.18更新内容:
如果要支持分词搜索,请先按照此文安装phpjieba:https://img.h4ck.org.cn/2020/09/让wordpress支持分词搜索/
然后修改搜索代码:
代码语言:javascript复制$result = jieba($search_keyword_string);
//echo($result);
foreach($result as $value){
//echo "{$value}
";
$args = array('s'=>$value);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) {
//_e("Search Results for: ".get_query_var('s')."");
while ( $the_query->have_posts() ) {
$the_query->the_post();
?>
-
修改之后效果 参考链接: https://stackoverflow.com/questions/14802498/how-to-display-wordpress-search-results https://wordpress.org/support/topic/url-decode/ https://developer.wordpress.org/reference/classes/wp_query/#search-parameters ☆文章版权声明☆ * 网站名称:obaby@mars * 网址:https://h4ck.org.cn/ * 本文标题: 《WordPress 优化404页面》 * 本文链接:https://h4ck.org.cn/2020/09/wordpress-优化404页面/ * 转载文章请标明文章来源,原文标题以及原文链接。请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。