wordpress插件信息在哪个数据表中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wordpress插件信息在哪个数据表中相关的知识,希望对你有一定的参考价值。

插件信息由get_plugins函数,读取分析plugins目录下的插件文件所得。
激活的插件信息存于options表中,option_name为“active_plugins"
参考技术A 激活的插件信息存于options表中,option_name为 “widget_”+你的插件名称。

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

【中文标题】在 WordPress 中,文本小部件的内容存储在哪里?【英文标题】:In WordPress where the content of text widget are stored? 【发布时间】:2017-05-29 12:36:19 【问题描述】:

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

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

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

感谢任何帮助。

更新:

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

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

【问题讨论】:

【参考方案1】:

Text Widget 的内容存储在wp_options 表下 option_name > widget_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 文件中。

用法

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

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

参考:

get_option() Hook called before text widget save

【讨论】:

除了在文本小部件中输入的内容之外,该列中还有很多文本。有没有办法摆脱它或另一个表格,其中内容被保存而列中没有任何其他内容? 检查link,它将数据存储为关联数组,因此您可以在text 键中找到内容。您只有单个文本小部件还是多文本小部件? 我有多个文本小部件。您展示的数组.. 是 WP 制作了这个数组吗?如果是,我如何访问它? 恐怕我不知道文本小部件的标题,因为它们将是用户输入。他们有时甚至可能没有头衔。有什么解决办法吗? 您究竟想做什么,请在您的问题中解释一下,这将有助于确定最佳解决方案。

以上是关于wordpress插件信息在哪个数据表中的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress 翻译页面选项

如何在 WordPress 中创建联系表格?

WordPress小部件中的重复表单字段?

wordpress 插件应该放在哪个目录文件下面?

WordPress,cron和time - 服务器上的时间会影响插件吗?怎么解决?

将其他帐单注册字段与 WooCommerce 中的默认 Wordpress 字段同步