質問: オンデマンドでjquery/scriptをアクティビティにする方法 私は私のwordpressのページのコメントセクションを表示するためにjqueryを使用しようとしていますが、コメントを許可するすべてのページにjqueryが存在する必要はありません。基本的に、私は以下が必要です: 'in view' jqueryプラグインの一般的なjavascript実装(http://remysharp.com/2009/01/26/element-in-view-event-plugin/) コメントを含むdivが表示されたときにjquery(core)をアクティブにする方法。 これによりjqueryがロードされ、次にjqueryがページのcomments-sectionをロードしますが、これはそのセクションがブラウザのビューポートを通して表示されるようになったときに限られます。問題はphp関数なので、これには 'wp_enqueue_script'(wordpressの一般的なスクリプト追加方法)を実際には使用できないことです。 (wordpress/jqueryの機能を壊さずに)上記のような機能を実装することを可能にする方法はありますか?edit:私はjqueryを有効にする必要があります(ページを開いてタイトルを見て離れるだけではなく)彼がコメントを読みたいと思ったときだけにします。 - 多くはdisqusのスタイルです。 disqusは、ビューポートに表示されているときにのみアクティブになるように見えます。同時に、制御中のjavascriptがアクティブになっていると思います。このようなことを通常のjavascriptで(jqueryをアクティブにして)行ってからwordpressに移植するにはどうすればよいでしょうか。
回答: 1.頭の中にjqueryとプラグインを登録するwp_register_script( 'jquery' ); wp_register_script( 'your_jquery_plugin', stylesheetpath, 'jquery', '0.0', false ); 2.メタボックスを登録するそれは単純なチェックボックスであるべきです。 add_meta_box()のコーデックスページ に記述されているようにしてください(ここでこれを繰り返さないでください)。それ以外の場合は、メタボックスの$ idは'jquery_comments'になります。例(短縮): functions.phpの中 function add_jquery_comments_meta_box() { $id = 'jquery_comments'; $title = __( 'jquery comments, please?', 'your_textdomain_string' ); $context = 'side'; // advanced/normal also possible $priority = 'low'; // high also possible $callback_args = ''; // in case you want to extend it add_meta_box( $id, $title, 'add_jquery_comments_cb_fn', 'post', $context, $priority, $callback_args ); } add_action( 'admin_init', 'add_jquery_comments_meta_box', 1 ); // prints the box content // please adjust this to your needs - only slightly modified from codex example function add_jquery_comments_cb_fn() { // use nonce for verification wp_nonce_field( basename(__file__), 'your_noncename' ); // the actual fields for data entry ?> <label for="jquery_comments"><?php _e("do you want jquery comments on this post?", 'your_textdomain_string' ); ?></label> <input type="checkbox" id="jquery_comments" name="jquery_comments" /> <?php } 3.条件としてメタボックスに基づいてスクリプトをエンキューするfunctions.phpファイルに次のような関数を書きますfunction add_jquery_comments_plugin() { wp_enqueue_script( 'jquery' ); wp_enqueue_script( 'your_jquery_plugin' ); } // and call it depending on a conditional in the comment form hook if ( get_post_meta($post->id, 'jquery_comments', true) ) { add_action( 'comment_form', 'add_jquery_comments_plugin' ); }