在Wordpress中,当我们在侧边栏制作文本小部件时,文本的内容是保存在变量中还是数据库中?
如果是变量,是哪个变量?
如果是数据库,是哪个表?
感谢任何帮助。
更新:
我想要实现的是,我将制作一个插件来检查用户是否在其网站上创建了文本小部件,如果是,那么我希望该插件获取其内容,将其发送到我的服务器,通过我的拼写检查器运行它,将更新的内容带回来并替换文本小部件的旧内容。
因此,这就是为什么我想知道如何访问网站所有者输入的文本小部件的确切内容。
最佳答案
Content of Text Widget are stored in
wp_options
table underoption_name > widget_text
. in serialize form
您可以使用此 MySQL 查询来获取:
SELECT * FROM `wp_options` WHERE `option_name` = 'widget_text'
已更新
如果您只想获取文本小部件的内容,那么您必须创建一个自定义函数,只要您知道标题,该函数就会返回内容。
这是代码:
function abc_getWidgetContentbyTitle($widget_title)
{
$contect = '';
$widgets = get_option('widget_text');
if (!empty($widgets)):
foreach ($widgets as $widget)
{
if ((!empty($widget['title'])) && $widget['title'] == $widget_title):
$contect = $widget['text'];
endif;
}
endif;
return $contect;
}
代码位于事件子主题(或主题)的 function.php 文件中。或者也可以在任何插件 php 文件中。
用法
echo abc_getWidgetContentbyTitle('some txt widget 1'); //replace it with your title.
代码经过测试且功能齐全。
请注意:我假设您具有类似 this 的值
<小时/>已更新(阅读您的具体要求后)
您可以使用widget_update_callback
Hook 以获取用户输入的内容,然后进行拼写检查并将其替换为更新内容。
这是一个例子:
add_filter('widget_update_callback', function( $instance, $new, $old, $obj )
{
if ('text' === $obj->id_base && !empty($instance['text']))
{
$title = $instance['title'];
$content = $instance['text'];
//...
//Now do your stuff and update $content.
//...
$instance['title'] = $title;
$instance['text'] = $content;
}
return $instance;
}, 10, 4);
代码位于事件子主题(或主题)的 function.php 文件中。或者也可以在任何插件 php 文件中。
代码经过测试且功能齐全。
引用:
关于php - WordPress中文本小部件的内容存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41646465/