get shortcode value

时间:2017-04-26 作者:user117473

我在highcharts的短代码中创建了一个文本字段,我们可以在其中为图表选择页脚标签。这是字段:

            array(
            \'label\' => esc_html( \'Footer label\' ),
            \'description\' => esc_html( \'Choose the footer label\' ),
            \'attr\' => \'footer_caption\',
            \'type\' => \'text\',
        ),
在此之前,一切都很好,字段被创建,它保存了我在那里输入的值,也保存了数据库中的值。呈现的html示例以及数据库中显示的内容:

<input type="text" class="regular-text" name="footer_caption" id="shortcode-ui-footer_caption-c42" value="test caption" placeholder="">
以及:

[the_chart chart="23" footer_caption="test caption"/]
问题是我无法获得字段的值。在此图表中,eg:test caption

我不太习惯PHP,但我尝试了多种不同的方法来检索footer_caption 但是没有运气。我必须在另一个函数中传递该值,那么有人能帮我一下,告诉我如何检索footer_caption?

1 个回复
SO网友:Aishan

    add_shortcode(\'the_chart \', \'high_chart\');
        function high_chart($atts, $content = null) {
           //extract the cart and footer_caption value 
            extract(shortcode_atts(array( \'chart\' => null, \'footer_caption\' => null), $atts));
            /*
               * process your chart and footer_caption value as
               * $chart and $footer_caption and return the process data
             */
            $return_html = \'chart id:\'. $chart.\'<br/> Footer Caption:\'. 
            $footer_caption;
            return $return_html

        }
供参考:https://codex.wordpress.org/Function_Reference/add_shortcode希望你能理解!

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请