十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
进入后台,然后查看 设置--阅读--页面和Feeds编码,
创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的云冈网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
一般的是:UTF-8 编码
wordpress搜索是全文搜索,你可以在标题或文章里加入编码来实现。这个方法简单,无需任何开发费用。
查询数据库的方法很多,较常用的有以下3种:使用pre_get_posts 动作、 query_posts() 函数 或 WP_Query 类。
一、pre_get_posts 动作
当查询数据库的时候,Wordpress创建了一个全局变量 $query 。使用动作 pre_get_posts 就可以获取 $query 变量并将其作为参数传递给回调函数。
要知道,pre_get_posts 可以用来获取所有的数据库信息,包括后台管理区域,而且它可以多次使用,所以要获取想要的数据,需要对它进行判断检查。要检查是否正在改变主查询,我们可以使用函数 is_main_query()。
尽管这样,它还是会在后台管理区域中被获取,所以还需要检查是否在用户个人希望的页面输出,比如,要修改分类页面的查询,就需要添加 is_category() 函数。
例如,如果希望在首页查询中排除某些分类,可以向下面一样修改查询:
还可以通过修改 posts_per_page 参数来修改通过查询获取的文章篇数。
posts_per_page 是用来修改WordPress默认的查询的,如果需要添加额外的查询,你就需要使用 WP_Query 类。
二、query_posts() 函数
query_posts() 是修改WordPress主查询的另一种方法,这是最简单的编辑数据库查询的方法,因为它会覆盖默认的 $query 变量。但 query_posts() 不是最好的,也不是最有效的方法,更好的方式还是使用 posts_per_page 来修改主查询。
就像 posts_per_page 一样,可以使用 query_posts() 来修改返回的文章数量,默认情况下,WordPress会返回 10 篇文章,可以使用下面代码修改为 1 篇:
三、WP_Query 类
WP_Query 类 定义在 wp-includes/query.php 文件中,它是一个 类(class),用来查询数据库然后在我们想要的页面输出文章。WP_Query 会创建一个可以用在任何页面的变量 $wp_query ,可以通过多种方式来获取查询的信息。
最主要的方式是 $wp_query-have_posts() ,它可以在循环的内部被 have_posts() 函数调用。你可以通过 the_post() ,在循环的内部使用这个变量来获取当前文章的信息。
WP_Query 类 还可以用来二次查询数据库,但需要使用 wp_reset_postdata() 函数 来重置前一个查询。
亲,你好,很高兴为你回答。
首先你要准备2个文件
1个是在wordpress主题下的search.php文件
1个是检索页面需要放入html代码。
form action="/" method="get" input name="s" type="text" placeholder="网站检索" id="s" value="? the_search_query(); ?" / input name="sa" value="检索" type="image" src="?php bloginfo('template_url'); ?/images/search_icon.gif" align="top" class="btn" / /form
上面这些是放在页面的form表单
========================================================================
下面这些是放在search.php里的代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
?php
/**
* The template for displaying all pages.
*
* This is the template that displays all pages by default.
* Please note that this is the WordPress construct of pages
* and that other 'pages' on your WordPress site will use a
* different template.
*
* @package Hotlink
* @subpackage Hotlink Theme
*/
// 検索结果用
$search_query = new WP_Query("s=$s showposts=-1");
get_header(); ?
section class="main clearfix"
?php if (have_posts()) : while (have_posts()) : the_post(); ?
div id="post-?php the_ID(); ?" class="search_post"
div class="search_title"
a href="?php the_permalink(); ?" title="?php the_title_attribute(); ?" rel="bookmark"
?php the_title(); ?
span class="search_text"?php the_excerpt(); ?/span
/a/div
?php the_date() ? ?php the_time() ?
/div
?php endwhile; else: ?
p class="search_text"
?php _e('您要搜索的内容不存在'); ?
/p
?php endif; ?
div class="nav-previous"
?php previous_posts_link(__('« Older Entries', 'kubrick')); ?
/div
div class="nav-next"
?php next_posts_link(__('Newer Entries »', 'kubrick')); ?
/div
/section
?php get_footer(); ?
如果可以使用,记得采纳呦。。有问题继续追问我。