web-dev-qa-db-ja.com

ウィジェットコードがWordPress.comで機能していない

私は私のHTMLページのいずれかにそれを埋め込むときうまく動作するJavaScriptウィジェットを開発しました。コードはこんな感じです

<script type="text/javascript" charset="utf-8">
  var asset_Host = 'http://domain.com';
  var url = unescape("%3Cscript src='" + asset_Host + "/javascripts/widget.js' type='text/javascript'%3E%3C/script%3E");
  document.write(url);
</script>

<script type="text/javascript" charset="utf-8">
  var widget_options = {};
  widget_options.iframe_base_url =  asset_Host + '/widget/questions/10';
  var feedback_widget = new ShowWidget.widget(widget_options);
</script>

しかし、私がこのコードをwordpressに埋め込むと、(おそらくセキュリティ上の理由から) "style"タグが取り除かれます。

ユーザーの不便を最小限に抑えるために、WordPress用のウィジェットコードを生成する方法について説明します。

1
Nick Vanderbilt

WordPress.comでは、JavaScriptを投稿することはできません。

WordPress.comサポートより:

ユーザーはWordPress.comブログにJavaScriptを投稿することはできません。 JavaScriptは悪意のある目的に使用される可能性があります。一例として、JavaScriptは過去にMySpace.comやLiveJournalのようなサイトをオフラインにした。すべてのブログのセキュリティは最優先事項であり、スクリプト言語が有害ではないことが保証されるまでは許可されません。

YouTubeやGoogle Videoなどの信頼できるパートナーからのJavaScriptは、投稿が保存されるとWordPressのショートコードに変換されます。

3
Chris_O

私はあなたが一般的な意味でウィジェットについて話すのではなく、 WordPressのウィジェット ではないと思います。

ウィジェットをWordPressユーザーにどのような形式で提供しますか?

  • まっすぐなJSスニペットは、WordPress Text Widgetまたはポスト/ページコンテンツで使用されている場合は動作するかもしれませんが、同様に壊れてしまうかもしれません - WPの入出力の大部分はセキュリティのために大きくスクラブされています。
  • functions.phpのスニペットとしてPHP関数にラップすることができます。
  • あなたは それをフルプラグイン としてパッケージ化して、関数呼び出しまたは ショートコード として使用することができます。 ).

また、 wp_enqueue_script() は、WPでJSを扱うための必須の読み物です。

それはあなたがそれをどのように扱いたいか、あなたのPHPスキルそしてあなたのターゲットWPユーザのスキルによります(知識が少ないほどあなたがもっと気をつけなければならないものになります)。

0
Rarst