@TANK_IST

Как заставить wordpress вставить js и css от плагина на страницу?

Есть плагин который модифицирует пост (WP Tiles)
Но на некоторых постах его не используют.
Как заставить wordpress вставить js и css от плагина на страницу, если на этой странице плагин не использован?
  • Вопрос задан
  • 141 просмотр
Пригласить эксперта
Ответы на вопрос 1
orlov0562
@orlov0562 Куратор тега PHP
I'm cool!
посмотри у него в коде подключение: файл wp-tiles/src/WPTiles/WPTiles.php
public function register_scripts() {

        $script_path = WP_TILES_ASSETS_URL . 'js/';
        $in_footer   = apply_filters( 'wp_tiles_js_in_footer', true );

        if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) {
            wp_register_script( 'tilesjs',  $script_path . 'tiles.js', array( "jquery" ), "2013-05-18", $in_footer );
            wp_register_script( 'jquery-dotdotdot',  $script_path . 'jquery.dotdotdot.js', array( "jquery" ),  "1.6.14", $in_footer );

            wp_register_script( 'wp-tiles', $script_path . 'wp-tiles.js', array( "jquery", "tilesjs", "jquery-dotdotdot" ), WP_TILES_VERSION, $in_footer );

        } else {
            wp_register_script( 'wp-tiles', $script_path . 'wp-tiles.min.js', array( "jquery" ), WP_TILES_VERSION, $in_footer );

        }

    }

    public function register_styles() {

        $stylesheet = WP_TILES_ASSETS_URL . 'css/wp-tiles.css';

        // In admin we want vanilla WP Tiles styles
        if ( !is_admin() ) {

            /**
             * Get the WP Tiles stylesheet
             *
             * @since 1.0
             * @param string Stylesheet location or false to disable separate css
             */
            $stylesheet = apply_filters( 'wp_tiles_stylesheet', $stylesheet );

            if ( false === $stylesheet )
                return;
        }

        wp_register_style( 'wp-tiles', $stylesheet, false, WP_TILES_VERSION );

        /**
         * Always enqueue stylesheet or defer loading until an instance of
         * WP Tiles has been detected
         *
         * @since 1.0
         * @param bool Always enqueue
         */
        if ( !is_admin() && apply_filters( 'wp_tiles_always_enqueue_stylesheet', false ) ) {
            $this->enqueue_styles();
        }
    }

    public function enqueue_scripts() {
        wp_enqueue_script( 'wp-tiles' );
        $this->add_action( 'wp_footer', 'add_data', 1 );
    }

    public function enqueue_styles() {
        wp_enqueue_style( 'wp-tiles' );
        do_action( 'wp_tiles_enqueue_styles' );
    }


вангую, что можно в functions.php, создать объект и вызвать эти методы
$wpTiles = new WPTiles/WPTiles;
$wpTiles->register_scripts();
$wpTiles->register_styles();
$wpTiles->enqueue_scripts);
$wpTiles->enqueue_styles();


ну или на крайний случай подключить скрипты/стили таким же кодом, что и в методах, прописав недостающие пути к файлам плагина, типа того:
$script_path = путь-к-папке-с-скриптом
            ...
            wp_register_script( 'tilesjs',  $script_path . 'tiles.js', array( "jquery" ), "2013-05-18", $in_footer );
            ...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы