2012-01-24 10 views
2

(adminフォームで)CSSファイルの登録とエンキューに問題があります 私のcssファイルを登録してエンキューしようとしています管理者でadmin_initを使用して、wss 3.3.1の管理者でBizarre、登録/ enqueueing/plugins_url()カスタムcss

$myStyleUrl = plugins_url('/SBaronAdmin/MyPopupStyle.css'); // Path relative to the plugins URL  
$myStyleFile = WP_PLUGIN_DIR . '/SBaronAdmin/MyPopupStyle.css';but 

をチェックしてください。 echo $ myStyleUrl; // result = http://localhost/wordpress/wp-content/plugins/SBaronAdmin/MyPopupStyle.css ブラウザで確認すると、そのURLは完全に正しいです。 まだ、.. if(file_exists($ myStyleUrl))//見つからない??

他が存在するかどうかのチェックは、あなたがそれにURLを渡すので、もし$ myStyleFile

誰でも? THX

答えて

0

file_exists()関数は、ローカルのファイルが存在するかどうかをチェックするために意図されてください」すなわち結構です

plugins_url()を呼び出すときには、相対パスである2番目の引数を渡す必要があります。そうすれば、プラグインフォルダの名前が変更された場合それは壊れません。

あなたのコードスニペットに基づい

は、私はあなたが以下のURLでサンプルを参照していると仮定:ファイルが存在する場合、彼らは確認することを

http://codex.wordpress.org/Function_Reference/wp_enqueue_style#Examples

お知らせ、彼らは$ myStyleFile、ない$ myStyleUrlを使用しています。それもあなたがやりたいことです。

<?php 
function add_my_stylesheet() { 
    $myStyleUrl = plugins_url('MyPopupStyle.css', __FILE__); 
    $myStyleFile = dirname(__FILE__) . '/style.css'; 
    if (file_exists($myStyleFile)) { 
     wp_register_style('SBaronAdminStyle', $myStyleUrl); 
     wp_enqueue_style('SBaronAdminStyle'); 
    } 
} 
?> 
+0

、クール正しい..おかげで...試合のWPとPHPを学ぶことがたくさん得ました。 –

+0

だからこそ、投稿された答え..それを解決する私の方法 –

0
// Hook for adding SB admin menus 
add_action('admin_menu', 'Add_SBMenu_Pages'); 
function Add_SBMenu_Pages() { 
    add_menu_page('Page title', 'SandwichBaron', 'manage_options', 'my-top-level-handle', 'fn_SBMenus_page'); 

    //some other identical add submenu pages........ 

    $page = add_submenu_page('my-top-level-handle', 'Page title', 'Platters', 'manage_options', 'my-submenu-handle4', 
        'fn_SB_Branches4_Menus_page'); 
    add_action('admin_print_styles-' . $page, 'my_plugin_admin_styles'); 
} 

function my_plugin_admin_styles() { 
     /* 
     * It will be called only on $Page page, enqueue our stylesheet here 
     */ 
     wp_enqueue_style('myPopupStyle'); 
    } 
関連する問題