/ / Bizarre, registrando / enfileirando / plugins_url () css personalizado em Admin de wp 3.3.1 - wordpress-plugin, admin

Bizarro, registrando / enfileirando / plugins_url () css personalizado no Admin do wp 3.3.1 - wordpress-plugin, admin

Eu tenho um problema com o registro e enfileiramento de um arquivo css (em um formulário admin) Eu estou tentando registrar e enfileirar meu arquivo css em admin usando admin_init, com

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

Se eu verificar por exemplo. echo $ myStyleUrl; // result = http://localhost/wordpress/wp-content/plugins/SBaronAdmin/MyPopupStyle.css Se eu verificar no meu navegador, esse URL está perfeitamente correto. ainda,.. if (file_exists ($ myStyleUrl)) // não encontra?

Verificar se o outro existe é bom, por exemplo, "$ myStyleFile

Alguém por favor? THX

Respostas:

0 para resposta № 1

A função file_exists () serve para verificar se existe um arquivo local, portanto, se você passar uma URL, ele tentará procurar por esse caminho no sistema de arquivos local (e falhará).

Quando você chama plugins_url (), você deve passar um segundo argumento, que é o caminho relativo. Dessa forma, se alguém renomeia sua pasta de plugins, ela não será quebrada.

Com base no seu snippet de código, presumo que você esteja fazendo referência à amostra no seguinte URL:

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

Observe que quando eles verificam se o arquivo existe, eles usam $ myStyleFile, não $ myStyleUrl. Isso é o que você quer fazer também.

<?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 para resposta № 2
// 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" );
}