我已经建立了多个动态侧栏来进行首页项操作。每个侧边栏都包含一个文本小部件, 我想从wp_options中检索每个小部件的内容(根据小部件ID)。
基本上, 结构为dbName->
wp_options->
option_id#92包含以下内容:
a:9:{i:2;
a:0:{}i:3;
a:3:
{s:5:"title";
s:0:"";
s:4:"text";
s:2:"mainItem";
s:6:"filter";
b:0;
}i:4;
a:3:
{s:5:"title";
s:0:"";
s:4:"text";
s:9:"leftThree";
s:6:"filter";
b:0;
}i:5;
a:3:
{s:5:"title";
s:0:"";
s:4:"text";
s:10:"rightThree";
s:6:"filter";
b:0;
}i:6;
a:3:
{s:5:"title";
s:0:"";
s:4:"text";
s:8:"rightTwo";
s:6:"filter";
b:0;
}i:7;
a:3:
{s:5:"title";
s:0:"";
s:4:"text";
s:8:"rightOne";
s:6:"filter";
b:0;
}i:8;
a:3:
{s:5:"title";
s:0:"";
s:4:"text";
s:7:"leftOne";
s:6:"filter";
b:0;
}i:9;
a:3:
{s:5:"title";
s:0:"";
s:4:"text";
s:7:"leftTwo";
s:6:"filter";
b:0;
}
s:12:"_multiwidget";
i:1;
}
[实际上全部在一行上。]
【在WordPress中使用MySQL查询检索小部件数据】我想检索以下字符串:
- mainItem
- leftOne / leftTwo / leftThree
- rightOne / rightTwo / rightThree
#1 你可以像这样从数据库中获取有关小部件类型的所有信息:
$text_widgets = get_option( 'widget_text' );
无需使用mySQL即可实现。这将返回所有存储的” 文本” 类型的小部件的数组。然后, 你可以遍历此数组, 并对每个内部属性进行处理, 如下所示:
foreach ( $text_widgets as $widget ) {
extract( $widget );
// now you have variables: $mainItem, $leftOne, $leftTwo, etc.
// do something with variables
}
或者, 如果你已经知道要与之交互的小部件的ID, 则可以访问以下属性:
$mainItem = $text_widgets[17]['mainItem'];
#2 请尝试以下代码段。它返回所有小部件存储的数据的数组。
//1. Initialize variables
$datahttp://www.srcmini.com/= '';
$all_stored_widgets = array();
//2. Get all widgets using - `$GLOBALS['wp_widget_factory']`
$all_widgets = $GLOBALS['wp_widget_factory'];
foreach ($all_widgets->
widgets as $w =>
$value) {$widget_data = http://www.srcmini.com/get_option('widget_' . $value->
id_base );
foreach ($widget_data as $k =>
$v) {
if( is_numeric( $k ) ) {
$data['id'] = "{$value->
id_base}-{$k}";
$data['options'] = $v;
$all_widgets_css[$value->
id_base][] = $data;
}
}
}// 3. Output:
echo '<
pre>
';
print_r( $all_stored_widgets );
echo '<
/pre>
';
输出如下:
文章图片
推荐阅读
- 在WordPress中激活主题激活函数
- 解决WordPress子主题上与父主题的javascript冲突
- 自适应网站只能在台式机上运行,??而不能在移动设备上运行
- 向下滚动时调整菜单大小
- #私藏项目实操分享# 什么是 SAP HANA XS JavaScript
- netty系列之:让TCP连接快一点,再快一点
- 万字详解实时计算一致性机制(对比Flink和Spark)
- MySQL 8.0 配置mysql_native_password身份验证插件的password
- nginx location配置详细解释