在可视化编辑器中添加JavaScript时出现问题(SharpSpring嵌入代码)

时间:2016-08-04 作者:Joshua Hutton

我正在尝试向我的站点添加sharpspring表单注册的嵌入代码。它说它可以与WordPress一起使用,但当我将代码添加到页面的文本部分并保存脚本时,标记被删除,代码以纯文本形式发布。

 <script type="text/javascript">
    var ss_form = {\'account\': \'**********\', \'formID\':\'****************\'};
    ss_form.width = \'100%\';
    ss_form.height = \'1000\';
    ss_form.domain = \'app-3QMYP5URE0.marketingautomation.services\';
    // ss_form.hidden = {\'Company\': \'Anon\'}; // Modify this for sending hidden variables, or overriding values
</script>
<script type="text/javascript" src="https://koi-3QMYP5URE0.marketingautomation.services/client/form.js?ver=1.1.1"></script>
如何将此表单添加到页面中,以便表单显示?

1 个回复
SO网友:David

你需要unfiltered_html 能够在帖子内容中编写JavaScript。默认情况下,这将授予管理员和编辑器。

更好的方法是编写一个小插件,为您提供一个短代码:

<?php

/**
 * Plugin Name: WPSE 234978 – Provide shortcode for Sharpspring embed
 * Plugin URL:  http://wordpress.stackexchange.com/q/234978/31323
 * License:     MIT
 * Version:     1.0.0
 * Author:      David Naber
 */

namespace WPSE234978;

add_action(
    \'wp_loaded\',
    function () {
        /**
         * Register the shortcode \'[sharpspring_embed]\'
         */
        add_shortcode( \'sharpsrpring_embed\', __NAMESPACE__ . \'\\sharpspring_embed_shortcode\' );
    }
);

/**
 * Translates the shortcode to the sharpspring embed code
 *
 * @return string
 */
function sharpspring_embed_shortcode() {

    $embed = <<<HTML
<script type="text/javascript">
    var ss_form = {\'account\': \'**********\', \'formID\':\'****************\'};
    ss_form.width = \'100%\';
    ss_form.height = \'1000\';
    ss_form.domain = \'***********\';
    // ss_form.hidden = {\'Company\': \'Anon\'}; // Modify this for sending hidden variables, or overriding values
</script>
<script type="text/javascript" src="https://********.marketingautomation.services/client/form.js?ver=1.1.1"></script>
HTML;

    return $embed;
}
在内部创建新目录wp-content/plugins 并将其命名为$YOURSITE-sharpspring-embed. 在内部创建一个PHP文件(将其命名为$YOURSITE-sharpspring-embed) 然后将上面的代码粘贴到该文件中。请记住更换您的凭据和应用程序ID。

然后激活插件并使用短代码[sharpspring_embed] 在您的帖子内容中。

注意:该插件至少需要PHP版本5.3(目前5.6是最稳定的版本)。