网站不做备案,网站空间pdf下载不了,程序开发的基本步骤四个,宁波企业网站seohttps://www.168seo.cn/jianzhan/wordpress/advance-wordpress-tutorial/24692.html 插件位置
需要注意的是#xff0c;由于在WordPress中可以配置wp-content/plugins/目录的位置#xff0c;所以你必须使用plugin_dir_path()和plugins_url()两个函数来获取插件的路径。
Wor…https://www.168seo.cn/jianzhan/wordpress/advance-wordpress-tutorial/24692.html 插件位置
需要注意的是由于在WordPress中可以配置wp-content/plugins/目录的位置所以你必须使用plugin_dir_path()和plugins_url()两个函数来获取插件的路径。
WordPress 查询数据库
查询 Python 1 2 3 4 5 6 7 8 global $wpdb; $fivesdrafts $wpdb-get_results(SELECT ID, post_title FROM $wpdb-posts WHERE post_status publish AND post_author 1); foreach ($fivesdrafts as $fivesdraft) { echo $fivesdraft-ID. .$fivesdraft-post_title.br; } die(); 输出 WordPress是一个非常强大的内容管理系统非常适合搭建CMS网站也非常适合二次开发。
本文就为大家介绍一下在二次开发中非常重要的一个环节–数据库操作。
wpdb类
为了方便二次开发WordPress封装了一个非常友好的数据库操作类wpdb。
wpdb类封装了所有的数据库操作函数它是基于开源的数据库操作类ezSQL进行修改的使其更适合于WordPress也使其仅适用于mySQL数据库。
同时WordPress还提供了一个全局变量$wpdb并将其实例化为wpdb类的对象。
这样我们就可以直接使用$wpdb来调用所有的数据库操作函数。
注意 使用前 一定要 global $wpdb;
query函数
这个函数是最基本的操作函数$query为SQL语句提交给数据库执行结果分两种情况
1). 如果是insert|delete|update|replace 返回受影响行数在insert|replace这种情况下该函数会用$this-insert_id记录下新插入的ID。
2). 如果是“select”该会用$this-last_result记录下查询到结果集返回查询到的记录行数。
如果出错则返回FALSE。
实例 Python 1 2 3 4 5 6 7 8 9 10 ?php $wpdb-query( UPDATE $wpdb-posts SET post_parent 7 WHERE ID 15 AND post_status static ); ? escape函数
使用反斜线引用数据也就是使用魔术引号。
实例 Python 1 2 3 4 5 6 ?php $name $wpdb-escape($name); $email $wpdb-escape($email); $wpdb-query(INSERT INTO myusers (id, name, email) VALUES (NULL, $name, $email)); ? insert函数
这是插入记录函数第一个参数是表的字段数组第二个是数据数组第三个用于规定$data中每个值的数据类型。插入数据返回1否则为0。
示例 Python 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ? $wpdb-insert( table, array( column1 value1, column2 123 ), array( %s, %d ) ); ? update函数
这是更新记录函数第一个参数是表的字段数组第二个是数据数组第三个是条件数组第四个和第五个分别用于规定$和$where中每个值的数据类型。更新了为1否则为0。
实例 Python 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ?php $wpdb-update( table, array( column1 value1, // string column2 value2 // integer (number) ), array( ID 1 ), array( %s, // value1 %d // value2 ), array( %d ) ); ? get_var函数
这个只返回一个值默认是第0行第0列。如果$query不为空首先执行查询如果$query为空的话则表示从cache中选出然后返回第X列第Y行的值。
实例 Python 1 2 3 4 5 ? $user_count $wpdb-get_var( $wpdb-prepare( SELECT COUNT(*) FROM $wpdb-users;) ); echo pUser count is {$user_count}/p; ? get_row函数
返回一行$output指定返回的类型可以是ARRAY_A(关联数组)、ARRAY_N(数字数组)或者OBJECT(对象)。$y指定第几行。
实例
默认情况下$output的值为OBJECT那么用法如下 Python 1 2 3 4 5 ?php $mylink $wpdb-get_row(SELECT * FROM $wpdb-links WHERE link_id 10); echo $mylink-link_id; // prints 10 ? 如果$output的值为ARRAY_A那么用法如下 Python 1 2 3 4 5 ?php $mylink $wpdb-get_row(SELECT * FROM $wpdb-links WHERE link_id 10,ARRAY_A); echo $mylink[link_id]; // prints 10 ? 如果$output的值为ARRAY_N那么用法如下 Python 1 2 3 4 5 ?php $mylink $wpdb-get_row(SELECT * FROM $wpdb-links WHERE link_id 10,ARRAY_N); echo $mylink[1]; // prints 10 ? get_col函数
返回一列$x指定第几列。
实例 Python 1 2 3 4 5 6 7 ? $names $wpdb-get_col(SELECT name, email FROM myusers, 0) foreach ( $names as $name ) { echo $name; } ? get_results函数
返回查询的结果集允许以ARRAY_A、ARRAY_N或者OBJECT三种方式返回。 Python 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ?php $fivesdrafts $wpdb-get_results( SELECT ID, post_title FROM $wpdb-posts WHERE post_status draft AND post_author 5 ); foreach ( $fivesdrafts as $fivesdraft ) { echo $fivesdraft-post_title; } ? get_col_info函数
返回字段信息。 Python 1 2 3 4 5 ?php $col_name $wpdb-get_col_info(name, 0); echo $col_name; ? prepare函数
这是一个可变参数函数即函数的参数个数不确定。$query为SQL语句其中可以包含像%s和%d这样的占位符其它所有非占位符里面的%都要使用%%来代替。由于SQL语句中可能含有像单引号、双引号这样的特殊字符如果不进行处理就直接提交给数据库可能会导致错误或者出现安全问题。为此我们可以通过prepare函数来对SQL语句进行。其实该函数的用法非常简单就跟C语言中的sprintf()和vsprintf()差不多。
用法 Python 1 2 ?php $sql $wpdb-prepare( query [, value_parameter, value_parameter ...] ); ? 实例 Python 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ? $metakey Harriets Adages; $metavalue WordPress base interface is like Sunday Morning: Easy.; $wpdb-query( $wpdb-prepare( INSERT INTO $wpdb-postmeta ( post_id, meta_key, meta_value ) VALUES ( %d, %s, %s ) , 10, $metakey, $metavalue ) ); ? 其他
另外还有两个常量SAVEQUERIES和WP_DEBUG。设置SAVEQUERIES常量为TRUE可以把在里执行的所有查询及其停止时间保存到$this-queries这个数组中以后调试的时候可以使用而设置WP_DEBUG常量为TRUE则可以输出错误。不过这两个常量开关默认都没有打开我们在测试的时候可以在wp_config.php文件中将其开启。