在存储文本小部件内容的 WordPress 中?

In WordPress where the content of text widget are stored?

在Wordpress中,当我们在侧边栏中制作文本小部件时,文本的内容是保存在变量中还是数据库中?

如果是变量,是哪个变量?

如果是数据库,table是哪个?

感谢任何帮助。

更新:

我想要实现的是我将制作一个插件来检查用户是否在他们的站点上创建了文本小部件,如果是,那么我希望插件获取它的内容,并将其发送到我的服务器,运行 它通过我的拼写检查器,将更新的内容带回来并替换文本小部件的旧内容。

所以,这就是为什么我想知道如何访问网站所有者输入的文本小部件的确切内容。

Content of Text Widget are stored in wp_options table under option_name > widget_text. in serialize form

您可以使用此 MySQL 查询来获取:

SELECT * FROM `wp_options` WHERE `option_name` = 'widget_text' 

已更新

如果您只想获取文本小部件的内容,那么您必须创建一个自定义函数来 return 内容,前提是您知道标题。

代码如下:

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;
}

代码进入您的活动 child 主题(或主题)的 function.php 文件。或者在任何插件 php 文件中。

用法

echo abc_getWidgetContentbyTitle('some txt widget 1'); //replace it with your title.

代码已经过测试,功能齐全。

请注意:我假设您的价值类似于 this


已更新 (阅读您的确切要求后)

您可以使用 widget_update_callback 钩子获取用户输入的内容,然后进行拼写检查并将其替换为更新内容。

这是一个例子:

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);

代码进入您的活动 child 主题(或主题)的 function.php 文件。或者在任何插件 php 文件中。
代码已经过测试并且功能齐全。

参考: