web-dev-qa-db-ja.com

ビジュアルエディタにJavaScriptを追加する際の問題(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
Joshua Hutton

投稿コンテンツにJavaScriptを書くには unfiltered_html の機能が必要です。これはデフォルトで管理者と編集者に与えられます。

もっと良い方法はあなたにショートコードを提供する小さなプラグインを書くことでしょう:

<?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が現在の安定版です)。

3
David