0

I had built a functionality plugin and hooked with actions to another plugin. I had also made a style.css in myplugin/stylesheets/ directory. I placed the code there. I would like to make the styling dependent on my plugin and not my theme.

So far I have been trying this:

function epf_override_style() {
    wp_register_style( 'epf-style', '/stylesheets/style.css' ); //Subdir in plugin directory.
    wp_enqueue_style( 'epf-style' );
}

add_action( 'es_extra_bottom_info','epf_override_style' );

How can I use the stlye.css of my plugin instead of the theme's (child theme's) style.css?

6
  • You will need to show some code examples, what you have done to make this work, what errors you have - without seeing how you are doing it, it is not possible to offer workable solutions.
    – Q Studio
    Commented Jan 26, 2021 at 9:52
  • Thanks for your comment. To be honest, I have done nothing so far, because I don't know how to start connecting.
    – Jani
    Commented Jan 26, 2021 at 10:17
  • But, you did "build a plugin" so, why not start by showing that - without additional information your question will be closed - because currently there is no way to answer it.
    – Q Studio
    Commented Jan 26, 2021 at 10:31
  • I updated my post. Thank you!
    – Jani
    Commented Jan 26, 2021 at 10:38
  • You need to use a function to get teh full path to the file, relative paths are not secure or reliable - look at questions like this - wordpress.stackexchange.com/questions/127860/…
    – Q Studio
    Commented Jan 26, 2021 at 10:46

2 Answers 2

0

You can hook stylesheet_uri which lets you override the URL to the active theme or child theme's style.css:

function epf_stylesheet_uri() {
    return plugins_url( '/stylesheets/style.css', __FILE__ );
}
add_filter( 'stylesheet_uri', 'epf_stylesheet_uri', 10, 1 );

This will then use your plugin's style.css instead of the theme's. But IMO if you want to override the style you should really be changing the theme instead.

1
  • Thank you very much. Unfortunately it doesn't work if I replace my code with yours.
    – Jani
    Commented Jan 26, 2021 at 11:02
0

What I find working is this:

function epf_override_style() {

    wp_register_style( 'epf-style', '/wp-content/plugins/extended-plugin-functionality/stylesheets/style.css');
    wp_enqueue_style( 'epf-style' );
    
}

add_action( 'wp_print_styles','epf_override_style' );

I have found the solution here: https://www.dummies.com/web-design-development/wordpress/enhance-wordpress-plugins-css-javascript/

All the comments helped to find the solution.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.