ABSPATH or __FILE__?

前端 未结 4 1452
长情又很酷
长情又很酷 2020-12-24 14:42

Can someone tell me if either of these two methods has an advantage over the other and why?

$mydir = ABSPATH.\'/wp-content/themes/mytheme/images\';

相关标签:
4条回答
  • 2020-12-24 14:51

    I would personally prefer dirname() as it is always guaranteed to give me the correct result, while the ABSPATH method relies on a fixed theme path and theme name that can both change.

    By the way, you can use __DIR__ instead of dirname(__FILE__).

    0 讨论(0)
  • 2020-12-24 14:59
    • The path to the "wp-content" directory and its subdirectories can be different in a particular WordPress installation. Also, using the WordPress internal constants (such as ABSPATH) is not recommended. See the Determining Plugin and Content Directories WordPress Codex article.
    • Since PHP 4.0.2, symlinks are being resolved for the __FILE__ and __DIR__ magic constants, so take that into account.

      Bottom line: To determine the absolute path to a theme directory, I would suggest to use the get_template_directory() function which also applies filters and internally combines get_theme_root() and get_template().

    0 讨论(0)
  • 2020-12-24 15:03

    For my own projects I would choose dirname(__FILE__), also there is a new constant in PHP:

    __DIR__ === dirname(__FILE__)
    
    0 讨论(0)
  • 2020-12-24 15:10

    ABSPATH is defined variable -> define("ABSPATH",__FILE__); if i directly use magic constant __FILE__ .it will produce same result.

    In CMS ABSPATH and framework use BASEPATH is used to get root information in the form of defined variable . In the end with the help of both we get same accurate result.

    0 讨论(0)
提交回复
热议问题