Title: compiled css path issue.
Last modified: August 20, 2016

---

# compiled css path issue.

 *  [saas](https://wordpress.org/support/users/saas/)
 * (@saas)
 * [13 years, 3 months ago](https://wordpress.org/support/topic/compiled-css-path-issue/)
 * Hi,
    I am having issue with compiled css files path.
 * I am using
    `if (class_exists(‘WPLessPlugin’)) { $lessConfig = WPLessPlugin::
   getInstance()->getConfiguration();
 *  // compiles in the active theme, in a ‘css’ subfolder
    $lessConfig->setUploadDir(
   get_stylesheet_directory() . ‘/css’); $lessConfig->setUploadUrl(get_stylesheet_directory_uri().‘/
   css’); }` to set my css path, good thing is its now saving compiled css files
   in my theme folder named “css”, but bad things is its somehow saving it inside`/
   wp-content/themes/my-theme/css/my-theme/less/` my .less files exist inside `/
   my-theme/less/`
 * Please suggest any solution. I have looked at code but was unable to trace how
   I can fix it without modifying core.
 * I found this filter “wp-less_stylesheet_save” but not sure how I can use it to
   change path.
 * Note: I am first registering my styles and then enqueue it. (not directly enqueueing
   without registering.
 * Thanks.
 * [http://wordpress.org/extend/plugins/wp-less/](http://wordpress.org/extend/plugins/wp-less/)

Viewing 8 replies - 1 through 8 (of 8 total)

 *  Plugin Author [thom4](https://wordpress.org/support/users/oncletom/)
 * (@oncletom)
 * [13 years, 2 months ago](https://wordpress.org/support/topic/compiled-css-path-issue/#post-3488663)
 * Hm, I’m not sure to understand the issue you are encountering: you mean files
   are not compiled in .css?
 *  Thread Starter [saas](https://wordpress.org/support/users/saas/)
 * (@saas)
 * [13 years, 2 months ago](https://wordpress.org/support/topic/compiled-css-path-issue/#post-3488664)
 * Hi,
    I was able to manage it my using
 * `add_filter('wp-less_stylesheet_compute_target_path', 'wp_less_stylesheet_compute_target_path');`
 * and the function is
 * function wp_less_stylesheet_compute_target_path($target_path) {
 *  $theme = wp_get_theme();
    if (strstr($target_path, “/{$theme->template}/less/”)!
   == FALSE) { $target_path = str_replace(“/{$theme->template}/less/”, “/”, $target_path);}
   if (strstr($target_path, “/{$theme->stylesheet}/less/”) !== FALSE) { $target_path
   = str_replace(“/{$theme->stylesheet}/less/”, “/”, $target_path); } return $target_path;}
 * thanks for having a look. But I have another issue on my hand right now.
 * I want to use “w3totalcache” with CDN, and for that I need my paths for images
   inside stylesheets to be relative but currently plugin is converting them to 
   mysite.com/wp-content/themes/my-theme/css/my-theme/images/*.jpg,*.png which I
   don’t want, also I am using parent / child theme combo, so it will be awesome
   if I could save the compiled *.css files into their respective themes like
 * *.less files from parent theme should go to parent theme path (specified by me)
   and same for child theme???
 * Can I achieve it with your plugin????
 *  [mikemuller](https://wordpress.org/support/users/mikemuller/)
 * (@mikemuller)
 * [13 years, 2 months ago](https://wordpress.org/support/topic/compiled-css-path-issue/#post-3488665)
 * I’m also having some issues with the compiled path customization.
 * I’m using the code right from the git repository:
 * // wp-content/themes/your-theme/functions.php
 * if (class_exists(‘WPLessPlugin’)){
    $lessConfig = WPLessPlugin::getInstance()-
   >getConfiguration();
 *  // compiles in the active theme, in a ‘compiled-css’ subfolder
    $lessConfig-
   >setUploadDir(get_stylesheet_directory() . ‘/compiled-css’); $lessConfig->setUploadUrl(
   get_stylesheet_directory_uri() . ‘/compiled-css’); }
 * What gets returned is below:
 * <link rel=”stylesheet” id=”theme-main-css” href=”[http://www.polynesian.dev/wp-content/themes/Polynesian/compiled-css/Polynesian/library/less/style-3dda9dfecc.css&#8221](http://www.polynesian.dev/wp-content/themes/Polynesian/compiled-css/Polynesian/library/less/style-3dda9dfecc.css&#8221);
   type=”text/css” media=”all”>
 * It looks like the plugin is adding the additional path info to href of the css.
   What I want to happen is have WP-Less compile the css and place in /Polynesian/
   compiled-css.
 * My path to the less files are:
    wp_enqueue_style(‘theme-main’, get_stylesheet_directory_uri().’/
   library/less/style.less’);
 * Any idea what’s going wrong??
 *  Thread Starter [saas](https://wordpress.org/support/users/saas/)
 * (@saas)
 * [13 years, 1 month ago](https://wordpress.org/support/topic/compiled-css-path-issue/#post-3488681)
 * [@mikemuller](https://wordpress.org/support/users/mikemuller/) for that you should
   use above function which I am using myself to achieve similar result
 *     ```
       add_filter('wp-less_stylesheet_compute_target_path', 'wp_less_stylesheet_compute_target_path');
   
       function wp_less_stylesheet_compute_target_path($target_path) {
   
       $theme = wp_get_theme();
       if (strstr($target_path, "/{$theme->stylesheet}/library/less/") !== FALSE) {
       $target_path = str_replace("/{$theme->stylesheet}/library/less/", "/", $target_path);
       }
       return $target_path;
       }
       ```
   
 *  Plugin Author [thom4](https://wordpress.org/support/users/oncletom/)
 * (@oncletom)
 * [13 years ago](https://wordpress.org/support/topic/compiled-css-path-issue/#post-3488698)
 * [@mikemuller](https://wordpress.org/support/users/mikemuller/) you seem to enqueue
   stuff the good way.
 * I’d bet you have a customized blog URI somewhere and the plugin is getting messed
   with that.
 * If you want to use a CDN, i recommend you using only the `setUploadUrl()`: it
   will save the compiled CSS file in the proper location and will render the proper
   CDN uri to the browser.
 *  Thread Starter [saas](https://wordpress.org/support/users/saas/)
 * (@saas)
 * [13 years ago](https://wordpress.org/support/topic/compiled-css-path-issue/#post-3488699)
 * [@oncletom](https://wordpress.org/support/users/oncletom/) according to my research
   on this issue, it doesn’t seem to be related to “customized blog URI”, the plugin
   always append the the path to less file in front of desired path, like
 * in [@mikemuller](https://wordpress.org/support/users/mikemuller/) case
    Desired/
   Required uri: get_stylesheet_directory_uri() . ‘/compiled-css’; Input uri: get_stylesheet_directory_uri().’/
   library/less/style.less’; Output uri: get_stylesheet_directory_uri() . ‘/compiled-
   css/Polynesian/library/less/style-3dda9dfecc.css’;
 * and actual output uri should be:
    get_stylesheet_directory_uri() . ‘/compiled-
   css/style-3dda9dfecc.css’
 * if if you noticed, plugin is appending the “less file” uri after the set output
   uri.
 * Did I made myself clear??? If not ask for more clarification.
 *  Plugin Author [thom4](https://wordpress.org/support/users/oncletom/)
 * (@oncletom)
 * [13 years ago](https://wordpress.org/support/topic/compiled-css-path-issue/#post-3488700)
 * Oh OK i got the point!
 * Well it might be a replacement issue, something I’ve let passing through as I
   don’t recommend generating content outside the configured WordPress `upload_dir`;
   this is the sole directory supposed to be writeable at any moment.
 * Have you spotted where in the code this problem is happening?
 *  Thread Starter [saas](https://wordpress.org/support/users/saas/)
 * (@saas)
 * [13 years ago](https://wordpress.org/support/topic/compiled-css-path-issue/#post-3488701)
 * Good.
 * Yes I understand that, and its valid implementation, but its not an ideal one,
   as not everyone would like to use .less files in live environment unless they
   have a strong reason to use it, most ideal situation usage is in development 
   environment where developer don’t want to recompile files himself (want auto 
   mode), and less files have more reasonable usage in development then live site.
   Anyway.
 * Yes I noticed you let it pass, as your logic is users will be using it to output
   in uploads dir, but and that make sense for the output path as in uploads path
   appended with extra path which points out less file makes sense but when user
   manually configure the desired output path / uri then its not picking the requirements
   properly. Anyway here is the culprit code,
 *  `wp-less/lib/Stylesheet.class.php;`
    public function computeTargetPath();
 * `$this->stylesheet->src` (this is the culprit) as it picks the input less file
   path and replaced the initial path with which matches `get_theme_root_uri()` 
   and leaves
 * `/my-theme/less/theme-main-%s.css`
 * via code
 *     ```
       $target_path = preg_replace('#^'.get_theme_root_uri().'#U', '', $this->stylesheet->src);
           $target_path = preg_replace('/.less$/U', '', $target_path);
       ```
   
 * and which being appended to output path as bellow
 * protected function configurePath();
    $this->target_path = self::$upload_dir.$
   target_file; $this->target_uri = self::$upload_uri.$target_file;
 * actually its appending the partial path of input less file (the starts after /
   my-theme/less/theme-main-%s.css ) instead it should be just doing something like
   this
 * inside function computeTargetPath();
 *  $target_path = preg_replace(‘#^’.get_theme_root_uri().’#U’, ”, basename($this-
   >stylesheet->src));
 * getting the file name instead of its full uri, and ofcourse do it for cases when
   user manually set the output path, so you will have to put somekind of flag variable
   to check against whether user manually configures output path or not???
 * make sense????? let me know if not.

Viewing 8 replies - 1 through 8 (of 8 total)

The topic ‘compiled css path issue.’ is closed to new replies.

 * ![](https://s.w.org/plugins/geopattern-icon/wp-less.svg)
 * [WP-LESS](https://wordpress.org/plugins/wp-less/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/wp-less/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/wp-less/)
 * [Active Topics](https://wordpress.org/support/plugin/wp-less/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/wp-less/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/wp-less/reviews/)

## Tags

 * [twitter bootstrap](https://wordpress.org/support/topic-tag/twitter-bootstrap/)

 * 8 replies
 * 3 participants
 * Last reply from: [saas](https://wordpress.org/support/users/saas/)
 * Last activity: [13 years ago](https://wordpress.org/support/topic/compiled-css-path-issue/#post-3488701)
 * Status: not resolved