如何创建包含HTML代码和自定义参数的快捷码/

时间:2019-06-30 作者:Pawel Kadysz

我想创建一个快捷码,用于在我的帖子和页面中放置新闻稿选择框。但是,根据页面或帖子的不同,我希望选择加入框有不同的标题和描述。

我创建了一个短代码新闻稿。包含以下代码的php文件:

<?php

function newsletter(){

return <<<HTML

    <div class="newsletterForm">

        <h3>Newsletter Box Headline</h3>

        <p>Newsletter Box Description</p>

        <form method="post" action="https://domain.com/newsletter/z2o7q6">

            <input type="hidden" name="ml-submit" value="1">

                <div class="newsletterFields">

                    <div class="newsletterEmail">

                        <input required="" type="email" class="newsletterInput" name="fields[email]"
                            placeholder="Your email...">
                    </div>

                    <div class="newsletterButton">

                        <input type="submit" class="newsletterSubmit" value="Subscribe">

                    </div>

                </div>

                <div class="newsletterDisclaimer">

                    <p>Newsletter Box Disclaimer</p>

            </div>

        </form>

    </div>
HTML;
}
?>
在函数中。我添加的php:

include(\'shortcode-newsletter.php\');
add_shortcode( \'newsletter\', \'newsletter\' );
现在,我想要一个带有自定义参数的快捷码:

[newsletter url="formActionUrl" headline="newsletterHeadline" description="newsletterDescription"]
但我不知道如何更改第一个代码来定制这些参数。

谢谢你的帮助!

1 个回复
最合适的回答,由SO网友:Antti Koskinen 整理而成

根据shortcode文档,您的shortcode回调将接收用户在$atts 变量您可以将它们与可能具有的任何默认值组合在一起shortcode_atts().

function newsletter( $atts ) {

  $atts = shortcode_atts( 
    array(
      \'url\'         => \'https://domain.com/newsletter/z2o7q6\', // change default value as needed
      \'headline\'    => \'Newsletter Box Headline\', // change default value as needed
      \'description\' => \'Newsletter Box Description\', // change default value as needed
    ), 
    $atts, 
    \'newsletter\' 
  );

  // you can access parameters with $atts[\'url\'], $atts[\'headline\'], and $atts[\'description\']
  // e.g <h3><?php echo esc_html($atts[\'headline\']); ?></h3>

}

相关推荐

在WordPress中插入Google地图的HTML

我想在Wordpress中插入一个谷歌地图,而不需要支付插件费用。我只是想调整一下风格,添加一些标记,并为制造商添加一个描述。因此,我简单地使用了来自Google Maps的示例代码并调整了样式。到目前为止还不错。现在的问题是,如何插入代码?大致是这样的:https://developers.google.com/maps/documentation/javascript/examples/map-simple如果我不能直接添加代码,你知道有什么免费插件可以让我实现我提到的要点(自定义样式、多个标记、标记