0

SOFでこれに対する答えを探していましたが、明確な答えが見つかりませんでした

特定の条件が満たされたときにページを強制的に表示するプラグインがあります。しかし、スタイリングのためにcssファイルを含めようとすると、応答がありません。

通常の html を使用してファイルをインクルードしようとしましたが、これは失敗しました

wp_register_styleそして、そのように試しましたwp_enqueue_style

function rw_add_style(){

$rw_path = plugins_url('kawaleb/style.css');
wp_register_style('testili',plugins_url('kawaleb/style.css'));
wp_enqueue_style( 'testili' );

}

add_action ('wp_enqueue_scripts','rw_add_style');

wp_enqueue_style( 'testili' );
}

条件が満たされたときに表示されるページにこのコードを配置しました

ここでわからないのは、エンキュー後の処理方法です。

スタイルシートファイルを含めるためにhtmlを使用する必要がありますか(そして、エンキューの使用は何ですか?)、またはそれ自体でそれを行いますか(そして、ここで何が欠けていますか?)

codex のドキュメントでは、スタイルを登録してからエンキューするように指示する以上のことはしません!!!

皆さん、ありがとうございました :)

4

1 に答える 1

0

スタイルを登録する必要はありません。エンキューするだけです。また、表示したいファイルにコードを配置したと述べましたが、プラグインのインデックスファイルに配置する必要があるため、 /your-plugin/index.php またはメインファイルにが呼び出されたら、次のコードを追加します。

function rw_add_style() {
    wp_enqueue_style( 'testili', plugins_url( 'kawaleb/style.css' ) );
}
add_action( 'wp_enqueue_scripts', 'rw_add_style' );

特定のページでのみ必要な場合は、関数内に条件を追加する必要があるため、たとえば次のようにすることができます。

function rw_add_style() {
    global $post;
    if ( $post->post_name == 'post_name' ) {
        wp_enqueue_style( 'testili', plugins_url( 'kawaleb/style.css' ) );
    }
}
add_action( 'wp_enqueue_scripts', 'rw_add_style' );

また、次のコードをページ テンプレートに一時的に追加することで、エンキューする必要があるページの投稿名を特定できます。

global $post;
echo $post->post_name;

明確にするために、CSS を含めるために html を追加する必要はありません<link>。その場合、それをエンキューしても意味がありません。上記のように、プラグインのメイン インデックス ファイルにエンキューを追加するだけで、ヘッダーの wp_head() に自動的にインクルードされ、</head>.

これが役立つことを願っています。幸運を。=)

于 2013-08-04T14:29:23.853 に答える