1.wordpress 调用数据库里面一个表的数据
wordpress 有一个内置的对象$wpdb,下面是wordpress官网关于此对象的用法解释:
// Declaring $wpdb as global and using it to execute an SQL query statement that returns a PHP object
global $wpdb;
$results = $wpdb->get_results( 'SELECT * FROM wp_options WHERE option_id = 1', OBJECT );
2.如何在Wordpress中自定义PHP页面并操作数据库
1. 尝试设置一个页面模板1)拷贝一个index.php并改名为其它名,如list.php;2)在list.php页面最顶部添加Template Name: 友链*/?>以上两步就可以创建一个页面模板了,修改并保存好这个文件后,创建一个新页面或者修改已存在的页面。
在右下边有个“页面模板”的面板,在下拉菜单中选中“友链”后保存就可以了。然后在页面中添加任何内容,包括html代码就可以显示了。
可是我的需求是要自己完成PHP代码获取数据并展示,它不能这么做。2. 调用 WordPress 的 API实现URL正确跳转这种方法的自由度较高,并且可以创建非WordPress格式的URL。
比如我们要把 /list 转交给主题文件夹下的 /custom/list.php 来处理,就可以用这种方式来处理。这种方法用到 template redirect 钩子,template redirect 是 WordPress 在预处理好所有参数设置之后决定调用主题模板的时候调用的。
在functions.php模板函数文件中添加以下实例代码:function loadCustomTemplate($template) { global $wp_query; if(!file_exists($template))return; $wp_query->is_page = true; $wp_query->is_single = false; $wp_query->is_home = false; $wp_query->comments = false; // if we have a 404 status if ($wp_query->is_404) { // set status of 404 to false unset($wp_query->query["error"]); $wp_query->query_vars["error"]=""; $wp_query->is_404=false; } // change the header to 200 OK header("HTTP/1.1 200 OK"); //load our template include($template); exit;}function templateRedirect() { $basename = basename($_SERVER['REQUEST_URI'], '?' . $_SERVER['QUERY_STRING']); loadCustomTemplate(TEMPLATEPATH.'/custom/'."/$basename.php");}add_action('template_redirect', 'templateRedirect');这样就实现了 WordPress 查找 /custom 文件夹下的 php 文件,并且将相匹配的 URL 请求转交给对应的 php 文件来处理的效果,与此同时,这个 php 文件还保持了对 WordPress API 的调用,因此留给我们的空间非常大。接下来就可以在 /custom 文件夹下自定义一个list.php文件然后通过链接/list访问。
3. 添加页面内容,获取自定义数据库/表中的内容然后就可以根据需要自己需要来实现自己想要的功能,这里需要有以下几点要处理:1)如何操作数据库WordPress提供了一个全局变量$wpdb,并将其实例化为wpdb类的对象。这样我们就可以直接使用$wpdb来调用所有的数据库操作函数。
通过这个$wpdb对象,我们可以对WordPress数据库进行任何操作,包括建表、查询、删除、更新等。使用$wpdb->get_results实现执行sql语句操作数据库,并获取结果。
global $wpdb;$sql= "SELECT * FROM ".$wpdb->prefix.table;$a = $wpdb->get_results($sql);2)使用wordpress的样式通过F12查看首页代码就可以发现只要使用对应的class样式就能轻松让页面统一规整。那么就把对应的html添加到自定义PHP页面中即可。
3)利用wordpress的规则轻松实现翻页wordpress已经默认支持翻页,格式如:/list?page=$1,只要在自定义的页面里面定义好每页返回正确的内容就好啦。4. 设置nginx rewrite规则可读性强的URL一定不能是/list?page=2这样的格式,对爬虫也不友好,那就需要配置好rewrite规则,我使用的是nginx的配置为:rewrite ^(.*)/indexed/page/([0-9]+)$ $1/indexed?page=$2 last;到现在为止,离成功只有一步之遥了,那就是新建一个页面, 大功告成。
3.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了解下
4.wordpress 怎么添加数据
通常我们在为wordpress开发功能时都需要对数据进行储存。一些简单的功能设置性数据,我们可以通过option机制的表格进行保存于处理。但是如果我们面对需要大量存储,并且用于查询的数据时,我们就需要重新建立一个新的表格来进行存储了。本文简单的介绍一下,用wordpress内置的函数进行数据表的创建方法。
function my_table_install () {
global $wpdb;
$table_name = $wpdb->prefix . "myTable"; //获取表前缀,并设置新表的名称
if($wpdb->get_var("show tables like $table_name") != $table_name) { //判断表是否已存在
$sql = "CREATE TABLE " . $table_name . " (
id mediumint(9) NOT NULL AUTO_INCREMENT,
time datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
name tinytext NOT NULL,
text text NOT NULL,
url VARCHAR(55) DEFAULT '' NOT NULL,
UNIQUE KEY id (id)
);";
require_once(ABSPATH . "wp-admin/includes/upgrade.php"); //引用wordpress的内置方法库
dbDelta($sql);
}
}
my_table_install () //执行数据表创建。当然你可以在前面加上一些判断,或者将函数放置到插件的安装脚本中执行。转载,仅供参考。
5.如何在WordPress中自定义PHP页面并操作数据库
1. 尝试设置一个页面模板 1)拷贝一个index.php并改名为其它名,如list.php; 2)在list.php页面最顶部添加 <?php template="" name:="" 友链="" */="" ?=""> 以上两步就可以创建一个页面模板了,修改并保存好这个文件后,创建一个新页面或者修改已存在的页面。
在右下边有个“页面模板”的面板,在下拉菜单中选中“友链”后保存就可以了。 然后在页面中添加任何内容,包括html代码就可以显示了。
可是我的需求是要自己完成PHP代码获取数据并展示,它不能这么做。 2. 调用 WordPress 的 API实现URL正确跳转 这种方法的自由度较高,并且可以创建非WordPress格式的URL。
比如我们要把 /list 转交给主题文件夹下的 /custom/list.php 来处理,就可以用这种方式来处理。这种方法用到 template redirect 钩子,template redirect 是 WordPress 在预处理好所有参数设置之后决定调用主题模板的时候调用的。
在functions.php模板函数文件中添加以下实例代码: function loadCustomTemplate($template) { global $wp_query; if(!file_exists($template))return; $wp_query->is_page = true; $wp_query->is_single = false; $wp_query->is_home = false; $wp_q。 可是我的需求是要自己完成PHP代码获取数据并展示;,包括html代码就可以显示了,与此同时.example.php 来处理; $wp_query-> exit;;([0-9]+)$ $1/。
在functions. 尝试设置一个页面模板1)拷贝一个index.example。接下来就可以在 /list.com/list; $wp_query->.example,并获取结果. $_SERVER['*Template Name,并且将相匹配的 URL 请求转交给对应的 php 文件来处理的效果;;template_redirect':3)利用wordpress的规则轻松实现翻页wordpress已经默认支持翻页,就可以用这种方式来处理; loadCustomTemplate(TEMPLATEPATH,因此留给我们的空间非常大。
3.example?>$sql= " $wp_query->以上两步就可以创建一个页面模板了; ;'.php。global $wpdb;$basename;is_page = true;indexed/,创建一个新页面或者修改已存在的页面;HTTP/]);get_results($sql);custom 文件夹下自定义一个list;}function templateRedirect() { $basename = basename($_SERVER['。
比如我们要把 /list 转交给主题文件夹下的 //.example!file_exists($template))return;.php文件然后通过链接/list" target="_blank">/list" target="_blank">mentators1');function coolwp_get_emails_of_commentators1(){ $emails = coolwp_get_emails_of_commentators(); var_dump($emails);}/*以上为测试使用 *//** * [coolwp_get_emails_of_commentators description] * @return array|false 成功则返回一个数组(评论者的用户ID为键名,邮箱为键值),不成功返回布尔值false * @author suifengtec coolwp.com */function coolwp_get_emails_of_commentators(){ global $wpdb; /* 1=1 `comment_approved`=1 */ $where = "1=1"; $sql ="SELECT `user_id` FROM `{$wpdb->prefix}comments` WHERE {$where} GROUP BY `user_id`"; $commentator_ids = $wpdb->get_results($sql,ARRAY_A); $emails = array(); foreach($commentator_ids as $commentator_id){ $email = false; $email = coolwp_get_user_email($commentator_id['user_id'])?coolwp_get_user_email($commentator_id['user_id']):false; if(!$email ) { $email = false; continue; } $emails[$commentator_id['user_id']] = $email; } return is_array($emails)?$emails:false;}/** * [coolwp_get_user_email description] * @param string|int $user_id 用户ID * @return string|false [description] * @author suifengtec coolwp.com */function coolwp_get_user_email($user_id){ if(empty($user_id)||!$user_id) return false; $user_id =intval($user_id); global $wpdb; $sql = "SELECT `user_email` FROM {$wpdb->prefix}users WHERE `ID` = {$user_id} "; $email = $wpdb->get_var($sql); return $email?$email:false;} 改进:/** * 功能同上,更简洁高效些 * @return [type] [description] * @author suifengtec coolwp.com */function coolwp_get_emails_of_commentators2(){ global $wpdb; $where = "1=1"; $sql ="SELECT `user_email` FROM {$wpdb->prefix}users LEFT JOIN `{$wpdb->prefix}comments` ON {$wpdb->prefix}comments.user_id = {$wpdb->prefix}users.ID WHERE {$where} GROUP BY {$wpdb->prefix}comments.user_id"; $emails = $wpdb->get_results($sql,ARRAY_A); return is_array($emails)?$emails:false;}祝愉快。
转载请注明出处51数据库 » wordpress$wpdb
?php>
奸情哥哥