php - WordPress中文本小部件的内容存储在哪里?

标签 php mysql database wordpress wordpress-hook

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

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

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

感谢任何帮助。

更新:

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

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

最佳答案

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' 

已更新

如果您只想获取文本小部件的内容,那么您必须创建一个自定义函数,只要您知道标题,该函数就会返回内容。

这是代码:

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/

相关文章:

php - 如何使用PHP或regex提取图像名称?

PHP行删除

php - 使用 Simple Html Dom 通过 ajax 动态加载 Scrape Div 的内容

MySQL临时表查询-将计算列添加到select中计算的表中

database - 我应该如何在数据库中表示唯一的 super 管理员权限?

java - 如果 java swings Gui 中的单行中存在多列,如何在 jList 中获取 id。?

php无法连接数据库,显示空白页

mysql - MySQL:使用GROUP BY进行中位数查询

mysql - 触发语法错误

database - 如何避免每个perl文件中的数据库连接信息