1

javascript スクリプトで使用できるwp_localize_scriptショートコードを渡すために、Wordpress を使用したいと考えています。$atts

参照されたスクリプトwp_localize_scriptと同じ関数でのみ機能するようです。wp_enqueue_script

別の関数でショートコードにアクセスし$attsます。

function csf_enqueue () {

//other enqueued scripts

wp_enqueue_script( 'csf_script_jquery', plugins_url( 'js/path/to/file', __FILE__ ), array ( 'jquery', 'jquery-ui-core') );

    $myvars = array('value' => 'one');
    wp_localize_script('csf_map_script_jquery', 'myVars', $myvars);
}

ショート$myvarsコードの$atts.

次のようにショートコードを追加します。

add_shortcode("csf_map", "csf_shortcode_ajax_frontend");

ではcsf_shortcode_ajax_frontend()、ショートコードにアクセスします$atts

function csf_shortcode_ajax_frontend( $atts, $content = null ) {

      $atts = shortcode_atts( array ( 
      'width'=> 600,
      'height'=> 400,
      'myinfo' => 'blah'
      ), $atts );  

//continues
}

wp_localize_script が (?) 行を含む場合、 $attsを含む関数のショートコードにアクセスするにはどうすればよいですか?wp_localize_scriptwp_enequeue_script

4

2 に答える 2

1
global $atts;

次に、関数で属性を抽出します。

extract($atts);

これがうまくいくことを願っています。幸運を

于 2012-06-01T03:41:49.780 に答える
0

csf_shortcode_ajax_frontend() で update_option("this_is_a_field", $atts) を使用してオプション フィールドを作成し、wp_localize_script() フックを呼び出すときに csf_enqueue() で同じデータベース オプション フィールドにアクセスするのが最善ではないでしょうか?

于 2012-03-28T16:53:33.237 に答える