wordpress数据库查询时的任意前缀通配方法

品味人生 • 发布于 2019-02-01 21:37:02

这个家伙很害羞,不想介绍自己!

上周frontopen主题添加了幻灯片的功能。出于易用性的考虑上,采用后台设置形式为文章打上标记,再通过SQL语句进行查询调用的实现形式。由于之前在考虑上的缺失,造成某些修改过wordprss数据库前缀的用户无法正常显示幻灯片。通过仔细阅读wordpress程序文件,发现wordpress中有一个变量用于保存用户定义过的前缀,因此查询时只要将前缀替换成该变量即可。

wordpress数据表前缀的保存变量

$wpdb->prefix

该变量在使用前,需要先进行全局调用,因此我们需要先进行<?php global $wpdb ?>处理,然后将变量赋值给另一个变量,即可方便的调用。

拿一段简单的实例代码进行演示说明

<?php
global $wpdb;
$table_name = $wpdb->prefix;
$term_id = $wpdb->get_var("SELECT term_id FROM ".$table_name."terms WHERE name = 'post-format-image'");
?>

按照上面的实例对数据表前缀进行动态调用后,就不用再担心因为用户修改过默认的wp_数据表前缀而造成的数据库查询失败的问题了。