テーマオプションページでカスタムテーマを作成しています。
オプションページをスタイルしたいのですが、インラインスタイルを含めたくありません。 sayから外部スタイルシートを含める方法はありますか
TEMPLATEPATH . '/css/admin.css'
私はまたこのコードの塊を見つけました、そしてそれはうまくいくようです - link
function admin_register_head() {
$siteurl = get_option('siteurl');
$url = $siteurl . '/wp-content/plugins/' . basename(dirname(__FILE__)) . '/yourstyle.css';
echo "<link rel='stylesheet' type='text/css' href='$url' />\n";
}
add_action('admin_head', 'admin_register_head');
最善の方法は何ですか?
管理テーマプラグインを作成する - Codexの手順から、上記のようにスタイルシートを挿入しないように指示されていることに気づくでしょう。
あなたがあなたの管理用テーマファイルの中に次のものを置いた場合、それは同じ目的を果たすでしょうが、 wp_enqueue_styles アプローチを使います:
function add_admin_theme_styles() {
wp_register_style($handle = 'mytheme-theme-admin-styles', $src = plugins_url('wp-admin.css', __FILE__), $deps = array(), $ver = '1.0.0', $media = 'all');
wp_enqueue_style('mytheme-theme-admin-styles');}
add_action('admin_print_styles', 'add_admin_theme_styles');
add_submenu_page
または他のadd_{TYPE}_page
関数のいずれかを使用して管理領域にページを登録するとき、4番目のパラメータは一意の識別子を受け入れます。この識別子はあなたの登録ページが使用するフックを指定します。
私はオプションを登録することになっていた場合例えば:
add_options_page( 'Example Plugin Options', 'Example Plugin', 'manage_options', 'example-plugin-identifier', 'example_plugin_options' );
そのページにはさまざまなフックが明確に用意されています。ここで、現在登録されているページに対して可能なアクションをいくつか紹介します。
// load-{HANDLE}
add_action( 'load-example-plugin-identifier', 'example_plugin_callback' );
// admin_head-{HANDLE}
add_action( 'admin_head-example-plugin-identifier', 'example_plugin_callback' );
// admin_print_scripts-{HANDLE}
add_action( 'admin_print_scripts-example-plugin-identifier', 'example_plugin_callback' );
// admin_print_styles-{HANDLE}
add_action( 'admin_print_styles-example-plugin-identifier', 'example_plugin_callback' );
function example_plugin_callback() {
// Run your code here
}
admin_enqueue_scripts
フックもあります。これは、コールバック関数に渡す文字列/変数内の現在のハンドルの名前を提供します。
add_action( 'admin_enqueue_scripts', 'example_plugin_callback' );
function example_plugin_callback( $handle ) {
// If the handle is not the page registered earlier, return
if( 'example-plugin-identifier' =! $handle )
return;
// Run your code here
}
- /管理ページをターゲットにしたり、登録済みの特定のページをターゲットにしたりするために条件付きロジックを実行したりしない限り、通常はadmin_head
、admin_print_scripts
、admin_print_styles
を使用する必要はありません。
それが役立ちます願っています..
WPはスクリプトとスタイル用のキューを提供します。 URLのバージョン管理、依存関係の自動ロードなどが可能です。
あなたのスタイルを正しく登録し、必要なところだけにロードする方法については、Codexの wp enqueue style()
を参照してください(あなたのカスタムページで、管理領域の全てではありません)。
うん私は私自身の質問に答えています...しかし私はそれを機能させることができました。
このアクションをあなたのテーマのfunctions.phpファイルに追加してください
function admin_register_head() {
$url = get_bloginfo('template_directory') . '/css/admin.css';
echo "<link rel='stylesheet' type='text/css' href='$url' />\n";
}
add_action('admin_head', 'admin_register_head');