WordPress搜索结果怎么根据不同(自定义)文章类型使用不同列表
wordpress吧
全部回复
仅看楼主
level 2
WordPress搜索结果怎么根据不同(自定义)文章类型使用不同的列表样式?
WordPress默认搜索一个页面显示所有结果,并且都使用同一种列表样式。我有多个自定义文章类型,如:书籍,电影,软件等。
能不能通过【域名/?type=文章类型&s=关键词】来做判断?
如果搜索【域名/?type=books&s=关键词】则循环include( 'templates/list-books.php' );并只显示书籍类型的搜索结果;
如果搜索【域名/?type=film&s=关键词】则循环include( 'templates/list-film.php' );并只显示电影类型的搜索结果……
本人php小白如果可以的话能否提供代码参考[熊-谢谢你]
2021年09月13日 05点09分 1
level 2
求助!!!
2021年09月13日 05点09分 2
level 11
域名/?type=文章类型&s=关键词
如果是按照这个标准来的话,直接通过$_GET改变wp_query函数的查询参数即可
2021年09月13日 08点09分 3
已解决只显示对应文章类型的搜索结果,但列表样式不知道怎么弄 比如书籍、电影、软件等,都有不同的列表样式 电影需要显示海报、评分、点赞、播放量…… 书籍需要显示封面、在读、作者、书籍类型…… 我的想法是将不同文章类型的列表<li>定义为一个模板文件list-文章类型.php来解决。
2021年09月14日 03点09分
但我只会一点前端,不会php[泪][泪][泪][泪] 求大佬帮帮忙[拜]
2021年09月14日 03点09分
@贴吧用户_5a3J1X1695 列表样式涉及到了CSS,这个不能一概而论,如果说不同的样式,那么就需要在不同情况加载不同的模板内容,多个模板的情况下通过switch进行判断可能是最简单的办法了
2021年09月14日 07点09分
@WP新手学园✨ 主题模板是我自己做的,只要根据文章类型更改include( 'templates/list-文章类型.php' )里的模板就能改变样式。
2021年09月16日 03点09分
level 2
@WP新手学园
这是我search.php的代码(网上扒的):
<php
$type = $_GET['type']?:'post';
$args = array(
'post_type'=>$type,
's'=>$_GET['s']
);
var_dump($args);
query_posts($args);
while(have_posts()):the_post();
//通过判断循环对应的模板
include( 'templates/list-books.php' );//这是不同文章类型的<li>模板
include( 'templates/list-film.php' );
……
endwhile; ?>
拜托大佬帮帮忙[拜]
2021年09月14日 03点09分 4
var_dump($args); 这段代码可以删除,你提供的这个就是标准的搜搜模板内容了。但是循环里面的内容需要根据自己的主题来进行修改,直接使用可能会报错了
2021年09月14日 07点09分
@WP新手学园✨ 不太明白,就是不能通过判断更改循环里的模板吗? 主题模板是我自己做的(我会一点前端,有一定的WordPress基础),只要更改include( 'templates/list-film.php' )里的模板就能改变样式。
2021年09月16日 03点09分
或者有没有其他可行方案
2021年09月16日 03点09分
level 11
<php
$type = $_GET['type']?:'post';
$args = array(
'post_type'=>$type,
's'=>$_GET['s']
)
query_posts($args);
while(have_posts()):the_post();
//通过判断循环对应的模板
switch($type){
case '':
include( 'templates/list-books.php' );//这是不同文章类型的<li>模板
break;
case '':
include( 'templates/list-film.php' );
break;
default:
break;
}
endwhile; ?>
上面的代码就是我想表达的意思
2021年09月17日 00点09分 5
谢谢大佬
2021年09月18日 02点09分
[大拇指][大拇指][大拇指]
2021年09月18日 02点09分
1