Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在WordPress中,文本小部件的内容存储在哪里?_Php_Mysql_Database_Wordpress_Wordpress Hook - Fatal编程技术网

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

Php 在WordPress中,文本小部件的内容存储在哪里?,php,mysql,database,wordpress,wordpress-hook,Php,Mysql,Database,Wordpress,Wordpress Hook,在Wordpress中,当我们在侧边栏中创建文本小部件时,文本的内容是保存在变量中还是保存在数据库中 如果它是一个变量,它是哪个变量 如果是数据库,它是哪个表 感谢您的帮助 更新: 我试图实现的是,我将制作一个插件,检查用户是否在他们的网站上创建了文本小部件,如果是,那么我希望该插件获取其内容,将其发送到我的服务器,通过我的拼写检查器运行,将更新的内容带回并替换文本小部件的旧内容 因此,这就是为什么我想知道如何访问由站点所有者输入的文本小部件的确切内容 文本小部件的内容存储在下的wp\u opt

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

如果它是一个变量,它是哪个变量

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

感谢您的帮助

更新:

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

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

文本小部件的内容存储在下的
wp\u options
表中
option\u name>widget\u text
。以序列化形式

您可以使用此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文件中

用法

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

请注意:我假设你有这样的价值


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

您可以使用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文件中使用。
代码经过测试,功能齐全。

参考:


除了文本小部件中输入的内容外,该列中还有更多的文本。有没有办法摆脱它或另一个表,在该表中内容保存时,列中没有任何其他内容?选中此项,它将数据存储为关联数组,以便您可以在
text
键中找到内容。你只有单文本小部件还是多文本小部件?我有多文本小部件。你展示的阵列。。是WP制造了这个阵列吗?如果是,我如何访问它?我恐怕不知道文本小部件的标题,因为它们将是用户输入。他们有时甚至可能没有头衔。有什么解决办法吗?你到底想做什么?请在你的问题中解释一下,这将有助于找出最好的解决办法。
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);