post_name:文章缩略名 to_ping:未知
pinged:已经PING过的链接 post_modified:修改时间
post_modified_gmt:修改时间(GMT+0时间) post_content_filtered:未知 post_parent:父文章,主要用于PAGE guid:未知
menu_order:排序ID
post_type:文章类型(post/page等) post_mime_type:MIME类型 comment_count:评论总数
wp_terms存储每个目录、标签
#存储每个目录、标签 wp_terms term_id:分类ID name:分类名 slug:缩略名 term_group:未知
wp_term_relationships存储每个文章、链接和对应分类的关系
#存储每个文章、链接和对应分类的关系 wp_term_relationships object_id:对应文章ID/链接ID term_taxonomy_id:对应分类方法ID term_order:排序
wp_term_taxonomy存储每个目录、标签所对应的分类
#存储每个目录、标签所对应的分类 wp_term_taxonomy
term_taxonomy_id:分类方法ID
term_id:taxonomy:分类方法(category/post_tag) description:未知 parent:所属父分类方法ID count:文章数统计
wp_usermeta存储用户的元数据
#存储用户的元数据 wp_usermeta
umeta_id:自增唯一ID user_id:对应用户ID meta_key:键名 meta_value:键值
wp_users存储用户
#存储用户 wp_users ID:自增唯一ID user_login:登录名 user_pass:密码 user_nicename:昵称 user_email:Email user_url:网址
user_registered:注册时间 user_activation_key:激活码 user_status:用户状态 display_name:显示名称
SQL查询
Wordpress提供的查询感觉没那么智能化,不知道怎样添加自己的条件。所以自己动手写查询语句用在自己的主题上,需要什么内容自己去数据库拿。下面是我为了实现某些功能的一些查询记录。
需要做的配置说明
要wordpress执行自己的sql语句,需要找到wp-db.php文件,在wp-includes/wp-db.php,这个文件里面有很多相关的函数,比如插入,删除,查询….等等,每个函数都有非常清楚的注释,可以自己看,我们只要在自己的页面模版中引入wp-db.php就可以用里面的所有函数做操作了。 引入代码如下: require_once( ABSPATH . WPINC .'/wp-db.php' ); $wpdb = new wpdb( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST ); 参数都是常量(关于常量介绍参考下面的wordpress常量属性部分),能获取在wp-config.php中的配置信息。在wp-config.php中可以看到。 如果sql是写在functions里面就不用引入wp-db.php这个文件了(推荐写在functions.php里面,方便管理)。
下面就可以通过$wpdb->使用相关的函数了,剩下的用到了再贴代码。
获取指定数量的最新文章列表
Sql:查询最新的5条文章记录,显示:文章ID 标题作者时间分类内容 SELECT w1.id AS 'ID',w1.post_title AS 'title',w2.user_login AS 'author',w1.post_date AS 'date',w4.name AS 'classify',w1.post_content AS 'content' FROM wp_posts AS w1 INNER JOIN wp_users AS w2 INNER JOIN wp_term_relationships w3 INNER JOIN wp_terms AS w4 ON w1.post_author = w2.id AND w1.id = w3.object_id AND w3.term_taxonomy_id = w4.term_id WHERE w1.post_type = 'post' AND w1.post_status = 'publish' ORDER BY w1.post_date DESC LIMIT 0,5 因为我的首页有需要显示最新的5条文章记录,所以这个操作是在我的index.php的首页模版文件里面的。
测试上面查询语句的代码:
get_results($querysql); for($i = 0;$i
相关推荐: