Поддержка Проблемы и решения Подключение стилей к плагину

  • Доброго.
    Как просто подключить style.css к своему плагину в админке? Читал кодекс, попробовал по нему сделать — не работает.

Просмотр 14 ответов — с 1 по 14 (всего 14)
  • а чего читали?

    http://codex.wordpress.org/Function_Reference/plugins_url
    http://codex.wordpress.org/Function_Reference/wp_register_style

    ну и если админка, то hook ‘admin_enqueue_scripts’

    ясность — мне нужен подключенный css к странице настройки моего плагина именно в админке

    Криво:

    if ( ! function_exists( 'irmologion_styles' ) ) {
    		function irmologion_styles() {
    
    			wp_register_style( 'irmologion', WP_PLUGIN_URL . '/irmologion/main.css' );
    			wp_enqueue_style( 'irmologion' );
    
    		}
    add_action( 'admin_enqueue_scripts', 'irmologion_styles' );
    }

    Получше ( точно не помню синтаксис ):

    if ( ! function_exists( 'irmologion_styles' ) ) {
    		function irmologion_styles() {
    
    			wp_register_style( 'irmologion', plugins_url( 'main.css' , __FILE__ ) );
    			wp_enqueue_style( 'irmologion' );
    		}
    add_action( 'admin_enqueue_scripts', 'irmologion_styles' );
    }

    а что за функция irmologion_styles ?

    заместо этого названия может быть любое другое, например:
    xxx_connect_my_stylesheet

    irmologion — название плагина, из которого взял этот кусок

    Меняйте на свои имена 🙂

    короче сделал вот так. Работает.

    /*
     * Пример будет работать начиная с версии WordPress 2.6.3,
     */
    add_action( 'admin_init', 'true_plugin_init' );
    add_action( 'admin_menu', 'true_plugin_menu' );
    
    function true_plugin_init() {
    	/*
    	 * Сначала регистрируем стили
    	 * файл CSS должен находиться в папке с выполняемым файлов плагина
    	 */
    	wp_register_style( 'trueplugin', plugins_url('true-plugin.css', __FILE__) );
    }
    
    function true_plugin_menu() {
    	/*
    	 * Создаем страницу настроек плагина, она будет находиться в разделе Параметры
    	 */
    	$page_suffix = add_submenu_page( 'options-general.php', 'True плагин', 'True плагин настройки', 'administrator', __FILE__, 'true_plugin_html' );
    
    	/*
    	 * Создаем хук, содержащий суффикс созданной страницы настроек $page_suffix
    	 */
    	add_action( 'admin_print_styles-' . $page_suffix, 'true_plugin_styles' );
    }
    
    function true_plugin_styles() {
    	/*
    	 * Ставим в очередь на вывод
    	 */
    	wp_enqueue_style( 'trueplugin' );
    }
    
    function true_plugin_html() {
    	/*
    	 * Собственно содержимое страницы настроек
    	 */
    	echo 'Это страница настроек';
    }

    Ну и хорошо, замороченно конечно, но потом отрефакторите со временем, думаю. Тему закрыть не забудьте 🙂

    Так работать то оно работает. Но я не совсем понял что тут произошло. Описание функций какието оч сложное для понимания того что по факту они делают.

    а в чем коренное отличия от вашего куска кода?

    я бы только первую строку заменил на
    add_action( 'admin_enqueue_scripts', 'true_plugin_init' );

    Отличия не важны, там задача другая, п.э. подлючается немного по другому.

    Алгоритм:
    регистрируешь свой css
    подключаешь его на нужной странице

    Всё 🙂

    versusbassz, с Вами можно связаться не через форум?

    я в ирке сижу сейчас 🙂
    на freenode.net паблик-канал ##wikicms

    приходи нас там много умных 🙂

    можно и через браузер зайти
    http://webchat.freenode.net/
    вводишь свой ник, канал ( см. выше ), капчу и в бой

    скайпов, Вконтактов нету?

    Лучше в irc.

    ирка нету и никогда не пользовался. сложно оч. Поделитесь скайпом, надаедать не буду.

Просмотр 14 ответов — с 1 по 14 (всего 14)
  • Тема «Подключение стилей к плагину» закрыта для новых ответов.