Access our premium support and let us know your problems, we will help you solve them.

0
No products in the cart.
  • This topic is empty.
Viewing 15 posts - 1 through 15 (of 17 total)
  • Author
    Posts
  • #9952
    blankstefanglase
    Participant

    Looking at the bottom of your wp-config.php file in the WordPress root directory will let you find something like this:

    if ( !defined('ABSPATH') )
        define('ABSPATH', dirname(__FILE__) . '/');
    

    For an example file have a look here:
    http://core.trac.wordpress.org/browser/trunk/wp-config-sample.php

    You can make use of this constant called ABSPATH in other places of your WordPress scripts and in most cases it should point to your WordPress root directory.

    #9950
    blankomry-yadan
    Participant

    Note: This answer is really old and things may have changed in WordPress land since.

    I am guessing that you need to detect the WordPress root from your plugin or theme.
    I use the following code in FireStats to detect the root WordPress directory where FireStats is installed a a WordPress plugin.

    function fs_get_wp_config_path()
    {
        $base = dirname(__FILE__);
        $path = false;
    
        if (@file_exists(dirname(dirname($base))."/wp-config.php"))
        {
            $path = dirname(dirname($base))."/wp-config.php";
        }
        else
        if (@file_exists(dirname(dirname(dirname($base)))."/wp-config.php"))
        {
            $path = dirname(dirname(dirname($base)))."/wp-config.php";
        }
        else
            $path = false;
    
        if ($path != false)
        {
            $path = str_replace("\\", "/", $path);
        }
        return $path;
    }
    
    #9936
    blankaadi
    Participant

    How can I retrieve the path to the root directory in WordPress CMS?

    #9948
    blankyitwail
    Participant

    This an old question, but I have a new answer. This single line will return the path inside a template: 🙂

    $wp_root_path = str_replace('/wp-content/themes', '', get_theme_root());
    
    #9951
    blankjaya-kuma
    Participant

    echo ABSPATH; // This shows the absolute path of WordPress

    ABSPATH is a constant defined in the wp-config.php file.

    #9938

    You can use get_site_url() function to get the base url of the wordpress site.

    For more information, please visit http://codex.wordpress.org/Function_Reference/get_site_url

    #9949
    blanknaty
    Participant

    There are 2 answers for this question Url & directory. Either way, the elegant way would be to define two constants for later use.

    define (ROOT_URL, get_site_url() );
    define (ROOT_DIR, get_theme_root() );
    
    #9942
    blankdung-tran-trung
    Participant

    I think this would do the trick:

    function get_wp_installation()
    {
        $full_path = getcwd();
        $ar = explode("wp-", $full_path);
        return $ar[0];
    }
    
    #9946
    blankritesh-d-joshi
    Participant
       Please try this for get the url of root file.
    

    First Way:

     $path = get_home_path();
       print "Path: ".$path; 
    // Return "Path: /var/www/htdocs/" or
    
    // "Path: /var/www/htdocs/wordpress/" if it is subfolder
    

    Second Way:

    And you can also use 
    
        "ABSPATH"
    
    this constant is define in wordpress config file.
    
    #9939
    blanksisir
    Participant

    If you have WordPress bootstrap loaded you can use get_home_path() function to get path to the WordPress root directory.

    #9944
    blanknick-surmanidze
    Participant

    For retrieving the path you can use a function <?php $path = get_home_path(); ?>. I do not want to just repeat what had been already said here, but I want to add one more thing:

    If you are using windows server, which is rare case for WordPress installation, but still happens sometimes, you might face a problem with the path output. It might miss a “\” somewhere and you will get an error if you will be using such a path. So when outputting make sure to sanitize the path:

    <?php 
    
    $path = get_home_path(); 
    $path = wp_normalize_path ($path);
    
    // now $path is ready to be used :)
    
    ?>
    
    #9945
    blankvivek-tamrakar
    Participant

    theme root directory path code

     <?php $root_path = get_home_path(); ?> 
    print "Path: ".$root_path;
    

    Return “Path: /var/www/htdocs/” or “Path:
    /var/www/htdocs/wordpress/” if it is subfolder

    Theme Root Path

     $theme_root = get_theme_root();
     echo $theme_root
    

    Results:- /home/user/public_html/wp-content/themes

    #9937
    blankheena-patel
    Participant

    Try this function for get root directory path:

    get_template_directory_uri();
    
    #9943
    blankcfx
    Participant

    I like @Omry Yadan’s solution but I think it can be improved upon to use a loop in case you want to continue traversing up the directory tree until you find where wp-config.php actually lives. Of course, if you don’t find it and end up in the server’s root then all is lost and we return a sane value (false).

    function wp_get_web_root() {
    
      $base = dirname(__FILE__);
      $path = false;
    
      while(!$path && '/' != $base) {
        if(@file_exists(dirname($base)).'/wp-config.php') {
          $path = dirname($base);
        } else {
          $base = dirname($base);
        }
      }
    
      return $path;
    }
    
    #9940
    blankkloddant
    Participant

    I like the accepted answer and @cfx’s solution, but they can be consolidated a bit more:

    function base_dir () {
        $path = dirname(__FILE__);
        while (true) {
            if (file_exists($path."/wp-config.php")) {
                return $path."/";
            }
            $path = dirname($path);
        }
    }
    

    This allows for you to find the base directory in files that are not loaded by WordPress, such as dynamically-created javascript and css files.

Viewing 15 posts - 1 through 15 (of 17 total)
  • You must be logged in to reply to this topic.