質問: 特定のページに対してのみスタイルシートを条件付きでエンジンする方法 始める前に、ページ/投稿コンテンツに基づいて条件付きでスクリプトをエンキューする方法をターゲットとした、本当に優れた記事がいくつかあることを認めたいと思います。 wordpressプラグインの開発 - cssとjavascriptを条件付きで、投稿に必要なときだけ含める方法 wordpressマスターのようにjavascriptをロードする方法 これらは素晴らしいですが、彼らは私がやりたいことよりもはるかに高度です。答えは組み込みのis_page()関数( codex )を使っているように感じますが、それを使おうとするとサイトが壊れるか、あるいはうまく動作しません。条件付きロジックを間違った場所で実行しているだけだと思います。これが私のfunctions.phpに追加しようとしたものです:function wpse39130_register_more_stylesheets() { wp_register_style( 'stylesheet_name', get_stylesheet_directory_uri() . '/stylesheet.css' ); } add_action( 'init', 'wpse39130_register_more_stylesheets' ); function wpse39130_conditionally_enqueue_my_stylesheet() { // only enqueue on product-services page slug if ( is_page( 'products-services' ) ) { wp_enqueue_style( 'stylesheet_name' ); } } add_action( 'wp_enqueue_scripts', 'wpse39130_conditionally_enqueue_my_stylesheet' ); その条件付き部分を削除すると、スタイルシートは正常にエンキューされたので、それが機能することがわかりました。
回答: あなたが持っているものは正しいです - あなたはただそれを間違った行動に引っ掛けています。 "init"の代わりに "wp"アクションを試してください。 initが実行されると、is_page()はまだ正しく動作しません。 編集: 私は間違っている。私はあなたがinitにフックしたadd_my_stylesheetを持っていると思ったが、あなたはそうしませんでした。 is_pageはenqueue_scriptsアクションから機能するはずです。すみません...続けて...