首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP Wordpress插件变量未回显内联样式

PHP Wordpress插件变量未回显内联样式
EN

Stack Overflow用户
提问于 2018-06-02 04:55:56
回答 1查看 186关注 0票数 0

我正在开发一个Wordpress插件,它有一个我用来将内容打印到页面/帖子上的短代码。

在我的插件文件中,我已经启动了所有的菜单页面和设置,我在插件管理页面中有2个设置,其中一个是品牌颜色,因此用户可以更改快捷代码吐出的表单的品牌颜色。

数据被保存在wordpress的wp-options表中,一切正常,问题是当我试图回显变量内容时什么也没有发生?

我所做的:

我首先在我的插件php文件的顶部添加了一个全局数组变量:

    $options = array();

    options_init(){

        if(current_user_can('manage_options')):

           global  $options;

            if(isset($_POST['form_submitted'])){

              $hidden = esc_html($_POST['form_submitted']);

                if($hidden == 'Y'){

                    $Brand = $_POST['brand_color'];
                    $options['brand_color'] = $Brand;

                    update_option('general_info', $options);
                }   

            }
                $options = get_option('general_info');

         endif
     }

所以现在我已经存储了数据,然后检索数据并将其存储在我的options变量中。在另一个函数中,我创建了短码函数和内容,以便在使用短码时显示在屏幕上。

我首先调用我的全局变量,然后调用短码内容的输出。

add_shortcode('my-form', 'budget_form');
function budget_form() {
global  $options;   
  ?>
<div class="monkey-budget-planner-wrapper">
        <div class="monkey-header-wrapper" style="background:<?php echo $options['brand_color'] ?>">
       </div>
</div>

    <?php
}

这个问题是样式没有输出,没有错误,在检查器中我看到输出是空白的。我不确定我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-02 05:12:31

为什么不行?你也可以结合你的一些条件。

  options_init(){

        if(current_user_can('manage_options') && isset($_POST['form_submitted'])):

              $hidden = esc_html($_POST['form_submitted']);

                if( $hidden == 'Y'){

                    $brand = $_POST['brand_color'];

                    update_option('brand_color', $brand);
                }   


         endif
     }

比你可以使用的

    add_shortcode('my-form', 'budget_form');

        function budget_form() { 

          $color = get_option('brand_color'); ?>

          <div class="monkey-budget-planner-wrapper">
                 <div class="monkey-header-wrapper" style="background:<?php echo $color ?>"></div>
          </div>

    <?php } ?>

如果您需要多个选项集,而不是仅仅使用update_option(),创建更多选项集,如果您要设置特定于页面的值,我建议使用update_post_metaget_post_meta()update_option()通常用于主题级别的数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50650902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档