1.wordpress首页查询多少次数据库
如果对进行过WordPress 性能优化,需要一个直观简单的查看方式的话,那么就可以使用下面所提及的代码,通过这段代码,可以在直观或者在html 源代码查看数据库查询次数、查询时间及内存占用。
代码本质上只有一段,但因不同添加方式可以变形为以下几种: 一、在页面前台显示数据库查询次数、查询时间 将下面的代码丢入主题的footer.php 的<? php="" wp_footer();="" ?="">前: 1 < hp="" echo="" get_num_queries();=""> queries in < hp="" timer_stop(3);=""> seconds 二、在html 源代码下显示数据库查询次数、查询时间 如果只是给自己看的,最好是在html 源代码下显示,很简单。就是将它变为html 注释,上面的代码修改为:。
2.wordpress如何通过页面模板实现数据库的条件查询
你的意思是使用mysql来自由调用吧。
使用$wbdb类
global $wpdb;
$table_name = $wpdb->prefix . "yourTbaleName";
$myrows = $wpdb->get_results( "SELECT id, name FROM $table_name" );
foreach ($myrows as $val) {
echo $val->row_name;
}
//除了get_results,还有get_row(), update(),insert()等函数,你可以去官方文档查询$wpdb了解下
3.如何查看WordPress当前页面执行的所有SQL语句
在wp-config.php中添加:/**优化数据库查询次数可开启该选项。
define('SAVEQUERIES', true);**/在footer.php中添加:<!-- .footer="" bottom="" --=""><?php if (current_user_can('level_10')) {echo '';} ?> <?php if (is_user_logged_in()){ global $wpdb; echo ""; print_r($wpdb->queries); echo ""; } ?>最后查看页面源文件,在每一页的页脚都会生成查询结果。
4.如何查看WordPress当前页面执行的所有SQL语句
在wp-config.php中添加:
/**优化数据库查询次数可开启该选项。
define('SAVEQUERIES', true);
**/
在footer.php中添加:
';} ?>
global $wpdb;
echo "";
print_r($wpdb->queries);
echo "";
} ?>
最后查看页面源文件,在每一页的页脚都会生成查询结果。
5.如何创建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() 函数 来重置前一个查询。
本回答由电脑网络分类达人 郭强推荐评论 0 0lushwong 采纳率:93% 来自团队:软件问题集合 擅长: 网络连接其他回答大家都知道,输入到WordPress的所有数据都将被保存在数据库中,如果我们需要这些数据,就要对数据库进行查询,然后输出我们需要的数据。比如我们需要在首页输出网站的最新文章,或者在分类页面输出该分类的最新文章,又或者在文章页面输出详细的文章内容…… 查询数据库的方法很多,较常用的有以下3种:使用pre_get_posts 动作、query_posts() 函数 或 WP_Query 类。
pre_get_posts 动作 当你查询数据库的时候,Wordpress创建了一个全局变量 $query 。使用动作 pre_get_posts 就可以获取 $query 变量并将其作为参数传递给回调函数。
要知道,pre_get_posts 可以用来获取所有的数据库信息,包括后台管理区域,而且它可以多次使用,所以要获取我们想要的数据,我们需要对它进行判断检查。要检查是否正在改变主查询,我们可以使用函数is_main_query()。
if(is_main_query()) { // Modify the query } 尽管这样,它还是会在后台管理区域中被获取,所以你还需要检查是否在你希望的页面输出,比如,你要修改分类页面的查询,你就需要添加 is_category() 函数。 if(is_main_query() && is_category()) { // Modify the query } 。
6.如何创建WordPress自定义查询
查询数据库的方法很多,较常用的有以下3种:使用pre_get_posts 动作、query_posts() 函数 或 WP_Query 类。
pre_get_posts 动作 当你查询数据库的时候,Wordpress创建了一个全局变量 $query 。使用动作pre_get_posts 就可以获取 $query 变量并将其作为参数传递给回调函数。
要知道,pre_get_posts 可以用来获取所有的数据库信息,包括后台管理区域,而且它可以多次使用,所以要获取我们想要的数据,我们需要对它进行判断检查。要检查是否正在改变主查询,我们可以使用函数 is_main_query()。
if(is_main_query()) {// Modify the query } 尽管这样,它还是会在后台管理区域中被获取,所以你还需要检查是否在你希望的页面输出,比如,你要修改分类页面的查询,你就需要添加 is_category() 函数。if(is_main_query() && is_category()) {// Modify the query } 例如,如果你希望在首页查询中排除某些分类,你可以向下面一样修改查询:add_action( 'pre_get_posts', 'exclude_category' ); function exclude_category( $query ) { if ( $query->is_home() && $query->is_main_query() && ! $query->get( 'cat' ) ){$query->set( 'cat', '-5' ); } } 你还可以通过修改 posts_per_page 参数来修改通过查询获取的文章篇数 add_action( 'pre_get_posts', 'get_one_post' ); function get_one_post( $query ) { if ( $query->is_home() && $query->is_main_query() ){$query->set( 'posts_per_page', 1 ); } } 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 篇:<?php query_posts(="" 'posts_per_page="1'" );="" while="" (="" have_posts()="" )="" :="" the_post();="" echo="">?php>
'; the_title(); echo '
'; endwhile;?> 了解更多,请阅读 WordPress函数:query_posts WP_Query 类 WP_Query 类 定义在 wp-includes/query.php 文件中,它是一个 类(class),用来查询数据库然后在我们想要的页面输出文章。WP_Query 会创建一个可以用在任何页面的变量 $wp_query ,你可以通过多种方式来获取查询的信息。最主要的方式是 $wp_query->have_posts() ,它可以在循环的内部被 have_posts() 函数调用。你可以通过 the_post() ,在循环的内部使用这个变量来获取当前文章的信息。
$new_query = new WP_Query( $args );// The Loop while ( $new_query->have_posts() ) :$new_query->the_post(); printf('
%s
', get_the_title() ); endwhile; WP_Query 类 还可以用来二次查询数据库,但你需要使用 wp_reset_postdata() 函数 来重置前一个查询。$new_query = new WP_Query( $args );// The Loop while ( $new_query->have_posts() ) :$new_query->the_post(); printf('%s
', get_the_title() ); endwhile; wp_reset_postdata();$second_query = new WP_Query( $second_args );// The Loop while ( $second_query->have_posts() ) :$second_query->the_post(); printf('%s
', get_the_title() ); endwhile; wp_reset_postdata(); 在 WordPress官方文档中,介绍了不同的参数和方法,更多详情请访问 WP_Query 类。转载请注明出处51数据库 » wordpress查询数据库
!-->?>