J'écris un plugin WordPress personnalisé, j'utilise le thème OceanWP avec Emororor et j'essaie d'enroquer / enregistrer bootstrap 4.5 styles / scripts ainsi que mes propres styles / scripts personnalisés.
Cependant, les styles OceanWP sont Prenant toujours la priorité utilisée à la place de mes styles / scripts. P>
Actuellement, j'essaie de parcourir les actifs thématiques en utilisant la priorité dans le crochet Add_action, mais je n'ai aucune chance. P> J'essaie d'afficher une forme de plusieurs pièces personnalisée et d'afficher une page sur une page à l'aide d'un code abrégé. p>
add_action( 'wp_enqueue_scripts', array( 'OCEANWP_Theme_Class', 'theme_css' ) ); // Load his file in last. add_action( 'wp_enqueue_scripts', array( 'OCEANWP_Theme_Class', 'custom_style_css' ), 9999 ); // Remove Customizer CSS script from Front-end. add_action( 'init', array( 'OCEANWP_Theme_Class', 'remove_customizer_custom_css' ) ); // Load theme js. add_action( 'wp_enqueue_scripts', array( 'OCEANWP_Theme_Class', 'theme_js' ) ); /** * Load front-end scripts * * @since 1.0.0 */ public static function theme_css() { // Define dir. $dir = OCEANWP_CSS_DIR_URI; $theme_version = OCEANWP_THEME_VERSION; // Remove font awesome style from plugins. wp_deregister_style( 'font-awesome' ); wp_deregister_style( 'fontawesome' ); // Load font awesome style. wp_enqueue_style( 'font-awesome', OCEANWP_THEME_URI . '/assets/fonts/fontawesome/css/all.min.css', false, '5.11.2' ); // Register simple line icons style. wp_enqueue_style( 'simple-line-icons', $dir . 'third/simple-line-icons.min.css', false, '2.4.0' ); // Register the lightbox style. wp_enqueue_style( 'magnific-popup', $dir . 'third/magnific-popup.min.css', false, '1.0.0' ); // Register the slick style. wp_enqueue_style( 'slick', $dir . 'third/slick.min.css', false, '1.6.0' ); // Main Style.css File. wp_enqueue_style( 'oceanwp-style', $dir . 'style.min.css', false, $theme_version ); // Register hamburgers buttons to easily use them. wp_register_style( 'oceanwp-hamburgers', $dir . 'third/hamburgers/hamburgers.min.css', false, $theme_version ); // Register hamburgers buttons styles. $hamburgers = oceanwp_hamburgers_styles(); foreach ( $hamburgers as $class => $name ) { wp_register_style( 'oceanwp-' . $class . '', $dir . 'third/hamburgers/types/' . $class . '.css', false, $theme_version ); } // Get mobile menu icon style. $mobileMenu = get_theme_mod( 'ocean_mobile_menu_open_hamburger', 'default' ); // Enqueue mobile menu icon style. if ( ! empty( $mobileMenu ) && 'default' !== $mobileMenu ) { wp_enqueue_style( 'oceanwp-hamburgers' ); wp_enqueue_style( 'oceanwp-' . $mobileMenu . '' ); } // If Vertical header style. if ( 'vertical' === oceanwp_header_style() ) { wp_enqueue_style( 'oceanwp-hamburgers' ); wp_enqueue_style( 'oceanwp-spin' ); } } /** * Returns all js needed for the front-end * * @since 1.0.0 */ public static function theme_js() { // Get js directory uri. $dir = OCEANWP_JS_DIR_URI; // Get current theme version. $theme_version = OCEANWP_THEME_VERSION; // Get localized array. $localize_array = self::localize_array(); // Comment reply. if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } // Add images loaded. wp_enqueue_script( 'imagesloaded' ); // Register nicescroll script to use it in some extensions. wp_register_script( 'nicescroll', $dir . 'third/nicescroll.min.js', array( 'jquery' ), $theme_version, true ); // Enqueue nicescroll script if vertical header style. if ( 'vertical' === oceanwp_header_style() ) { wp_enqueue_script( 'nicescroll' ); } // Register Infinite Scroll script. wp_register_script( 'infinitescroll', $dir . 'third/infinitescroll.min.js', array( 'jquery' ), $theme_version, true ); // WooCommerce scripts. if ( OCEANWP_WOOCOMMERCE_ACTIVE && 'yes' !== get_theme_mod( 'ocean_woo_remove_custom_features', 'no' ) ) { wp_enqueue_script( 'oceanwp-woocommerce', $dir . 'third/woo/woo-scripts.min.js', array( 'jquery' ), $theme_version, true ); } // Load the lightbox scripts. wp_enqueue_script( 'magnific-popup', $dir . 'third/magnific-popup.min.js', array( 'jquery' ), $theme_version, true ); wp_enqueue_script( 'oceanwp-lightbox', $dir . 'third/lightbox.min.js', array( 'jquery' ), $theme_version, true ); // Load minified js. wp_enqueue_script( 'oceanwp-main', $dir . 'main.min.js', array( 'jquery' ), $theme_version, true ); // Localize array. wp_localize_script( 'oceanwp-main', 'oceanwpLocalize', $localize_array ); }
3 Réponses :
Il est difficile de dire comment décevoir les scripts w / o ayant un coup d'oeil au code source du thème. Quoi qu'il en soit, il vous suffit d'attendre que le thème ait fait son travail, vous accrochez-vous à WP et en supprimez les styles à la recherche de nom de leurs poignées. Quelque chose comme ceci:
add_action('template_redirect','my_template_redirect'); function my_template_redirect(){ if (is_page('your_page')){ // Load class / do stuff with scripts/styles } }
Vous voulez dire des erreurs de code ou vous n'avez pas réussi à atteindre les résultats attendus? Vous pouvez même essayer d'utiliser Enqueue en passant les paramètres de dépendance, mais vous devez toujours connaître le nom de la poignée du thème parent.
Non, aucun de ceux qui n'ont travaillé pour moi en ce sens qu'ils n'ont pas atteint les résultats souhaités
Si ce n'est qu'une question de peu de règles vous écrasez-les avec une règle CSS plus spécifique (copiez le thème parent et ajoutez un niveau de spécificité CSS). Si cela ne fonctionne pas, essayez d'utiliser Enqueue_styles Dépendances Paramètre et à l'aide du nom de la poignée issu de la fonction mère_CSS. Ce sont les moyens de réaliser ce que vous recherchez. Le reste est tout à propos de l'ordre d'exécution avec le code WordPress ou de faire la chose correctement. W / o vu tout c'est assez difficile mais je suppose que nous vous avons donné les réponses
Si vous utilisez les mêmes noms de classe CSS, dans votre fichier CSS, il suffit d'ajouter! Important avant le demi-point sur les attributs que vous souhaitez forcer. P>
Ils utilisent des sélecteurs de type d'entrée afin de cibler les éléments directement de cette façon. Je ne sais pas comment aller monter ça.
Il y a plusieurs façons d'obtenir vos feuilles de style à charger une fois que d'autres feuilles de style sont chargées. Vous avez déjà essayé quelques façons, mais Le thème parent est une très haute priorité de Vous utilisez la priorité la priorité pour Votre code n'est pas réellement plus élevé que le thème parent strong>, vous devez donc augmenter à nouveau, par exemple P> 9999 code> afin que vous ayez besoin d'utiliser un autre plus élevé fort> ou cela ne fonctionnera pas.
9999 code> dans votre
add_action code>, mais si vous regardez le thème parent, il utilise: P >
// create an array with the handles of the stylesheets you want to load before yours
$dependencies = array('oceanwp-style', 'oceanwp-hamburgers', /* etc. */ );
/* Noew pass this in as the dependencies for your stylesheets */
wp_register_style('bootstrap_css',
'https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css',
$dependencies, /* array of dependencies */
NULL, 'all' );
wp_enqueue_style('bootstrap_css');
/* Add bootstrap to the dependencies, if your custom_styles needs it */
$dependencies[] = 'bootstrap_css';
wp_enqueue_style('custom_styles',
plugins_url('/assets/css/styles.css', __FILE__),
$dependencies, /* array of dependencies */
);
Nous devons voir le code Enqueue pour les styles que vous essayez de remplacer également s'il vous plaît.
@Fluffykitten les a ajoutés dans