サポート » 使い方全般 » functions.phpにjsが記述できない

  • 解決済 h-pine-h

    (@h-pine-h)


    こんにちは。
    WP初心者です。html+cssはわかります。jQuery.PHPはまだ書いてあることがなんとなくわかる程度です。
    functions.phpにリンクしたいjsを記述したのですが、管理画面には反映されているのにサイトのソースを見てみると、反映されていません。ローカルで記述してアップしても、直接管理画面で書いても変わりません。
    同じようにcssを記述しているのですが、そちらはソースにも反映されています。
    エラーは出ていないのですが、書き方が間違っているのでしょうか。
    ちなみに下記のfunction modify〜部分だけ反映されます。if (!is_admin())以下を反映させたいです。一度できていたので、どこかいじってしまったのかもしれませんが、調べてみても下記のような書き方をすると書いてあり、間違っている原因がわかりません。
    js以外にもfunctions.phpに書いているのですが、それらは全て反映されています。
    どうぞ宜しくお願い致します。
    ‘function modify_jquery() {
    if (!is_admin()) {
    // comment out the next two lines to load the local copy of jQuery
    wp_deregister_script(‘jquery’);
    wp_register_script(‘jquery’, ‘http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js’, false, ‘1.8.3’);
    wp_enqueue_script(‘jquery’);
    }
    }
    add_action(‘init’, ‘modify_jquery’);

    if (!is_admin()) {
    function register_script(){
    wp_register_script(‘jquery-1.7.1.min’, get_bloginfo(‘template_directory’).’/js/jquery-1.7.1.min.js’);
    wp_register_script(‘accordion’, get_bloginfo(‘template_directory’).’/js/accordion.js’);
    }
    function add_script() {
    register_script();
    // 全ページ共通
    wp_enqueue_script(‘jquery-1.7.1.min’);
    wp_enqueue_script(‘accordion’);
    }
    }
    add_action(‘wp_print_scripts’, ‘add_script’);

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター gatespace

    (@gatespace)

    ブログで検索して出てきた情報では無くCodexはデフォルトテーマのjsの読み込み方を参考にしてみてください

    アクションフック wp_print_scripts はWordPress3.3 から非推奨になっています。
    http://codex.wordpress.org/Plugin_API/Action_Reference/wp_print_scripts

    Codex にもあるように現在は wp_enqueue_scripts を使うようになっています。
    http://codex.wordpress.org/Plugin_API/Action_Reference/wp_enqueue_scripts
    例)Twenty Fourteen テーマ

    function twentyfourteen_scripts() {
    	// Add Lato font, used in the main stylesheet.
    	wp_enqueue_style( 'twentyfourteen-lato', twentyfourteen_font_url(), array(), null );
    
    	// Add Genericons font, used in the main stylesheet.
    	wp_enqueue_style( 'genericons', get_template_directory_uri() . '/genericons/genericons.css', array(), '3.0.2' );
    
    	// Load our main stylesheet.
    	wp_enqueue_style( 'twentyfourteen-style', get_stylesheet_uri(), array( 'genericons' ) );
    
    	// Load the Internet Explorer specific stylesheet.
    	wp_enqueue_style( 'twentyfourteen-ie', get_template_directory_uri() . '/css/ie.css', array( 'twentyfourteen-style', 'genericons' ), '20131205' );
    	wp_style_add_data( 'twentyfourteen-ie', 'conditional', 'lt IE 9' );
    
    	if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
    		wp_enqueue_script( 'comment-reply' );
    	}
    
    	if ( is_singular() && wp_attachment_is_image() ) {
    		wp_enqueue_script( 'twentyfourteen-keyboard-image-navigation', get_template_directory_uri() . '/js/keyboard-image-navigation.js', array( 'jquery' ), '20130402' );
    	}
    
    	if ( is_active_sidebar( 'sidebar-3' ) ) {
    		wp_enqueue_script( 'jquery-masonry' );
    	}
    
    	if ( is_front_page() && 'slider' == get_theme_mod( 'featured_content_layout' ) ) {
    		wp_enqueue_script( 'twentyfourteen-slider', get_template_directory_uri() . '/js/slider.js', array( 'jquery' ), '20131205', true );
    		wp_localize_script( 'twentyfourteen-slider', 'featuredSliderDefaults', array(
    			'prevText' => __( 'Previous', 'twentyfourteen' ),
    			'nextText' => __( 'Next', 'twentyfourteen' )
    		) );
    	}
    
    	wp_enqueue_script( 'twentyfourteen-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '20140319', true );
    }
    add_action( 'wp_enqueue_scripts', 'twentyfourteen_scripts' );

    >gatespaceさん
    ご親切にありがとうございます。
    そういえばWPはPHPの問題だけでなく、バージョンによって仕様が変わるのでしたね(汗
    今後COdexを見る癖をつけようと思いますが、まだ書いてあることを読んでもその記事には一部しか書いていないので、初心者にはわかりづらいところもあります。

    今回は設置できました。ありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「functions.phpにjsが記述できない」には新たに返信することはできません。