How about just define a constant that stores the plugin’s root path?
Define path constant
For calling numerous files, it is sometimes convenient to define a
constant:define( 'MY_PLUGIN_PATH', plugin_dir_path( __FILE__ ) ); include( MY_PLUGIN_PATH . 'includes/admin-page.php'); include( MY_PLUGIN_PATH . 'includes/classes.php'); // etc.
— See https://developer.wordpress.org/reference/functions/plugin_dir_path/#comment-491
So in your main plugin file:
define( 'MY_PLUGIN_PATH', plugin_dir_path( __FILE__ ) );
And then in folder/otherfolder/req-file-to-here.php
, do:
require MY_PLUGIN_PATH . 'req-file-from-here.php';
Alternatively, you could define just the path to the main plugin file:
define( 'MY_PLUGIN_FILE', __FILE__ );
And then in folder/otherfolder/req-file-to-here.php
, do:
require plugin_dir_path( MY_PLUGIN_FILE ) . 'req-file-from-here.php';
Related Posts:
- Register additional wp plugin directory
- How to structure a plugin
- Add multiple plugin directories
- Best Practice for Referencing the Plugin Directory
- Which method is best to enqueue scripts
- How long does it take for a new plugin to be approved?
- Is there a directory my plugin can write files to that cannot be viewed via the browser/url?
- Minimize and Uglify WordPress Plugin Files
- Correct Plugin File Path
- Disable plugin visibility at the plugin directory
- path of wp-content directory when we are on some plugin
- Can we rename a plugin directory for a already launched plugin?
- Server Path Information
- Change weird Wp File structure
- What are the implications of having main plugin file name different to plugin slug?
- Send Custom welcome email to specific user group
- woocommerce payment gateway callback not firing [closed]
- Added slug after URL permalink last slash returns different content
- How to modify WCMP Rest API response?
- Fetch Children of Grouped Products Inside WooCommerce Product Loop
- White page by using filter template_include
- How to fetch products with the price in a page on woocommerce using a form or live search with php
- Making a Template for a CPT created by a plugin
- Woocommerce dependent plugin
- WordPress.org Plugin Directory doesn’t recognise screenshots [closed]
- External CSS in WordPress Plugin [closed]
- How to check current user before all actions and filters?
- Owl Carousel2 image not displaying full width when using Stretch row and content, Stretch row and content(no padding) in wordpress
- User Session and Stored Cookies not get removed
- New databes tables with – WooCommerce – for developers [closed]
- How can I prevent my plugin go development trunk [closed]
- Plugin-generated pages use Not Found or Pages Archive templates?
- How can I make 2 plugins that include different versions of a framework to both use the latest version?
- creating html reusable blocks via shortcodes
- Add Plugin options as subpage to Theme options page
- Is there any kind of theme on WordPress to sell my own movies?
- Image upload and download from front-end
- Create a navbar filter that filters by a custom field
- Change commission_status paid when withdraw_status vendor is completed
- Retrieving a path when dealing with composer packages
- Passing an array from shortcode-function to filter-function
- custom payment gateway in woocommerce failed to connect to remote api server
- wp_remote_get() returns 403 while file_get_contents() does not
- Single API call exposed via shortcode with params
- Plugin options page with live preview?
- Using SVN to upload plugin created with gutenberg blocks
- Force quit running background job
- Modifying Author Link to add Author Meta in URL
- How to output CMB2 select options from repeated groups select elements?
- Creating a Callback URL for WordPress Woocommerce to update Order Status
- Get Time Taken By Each Action Hook in WordPress
- How to export post 2 posts WordPress plugin data [closed]
- 306 MB of wp_options occupied by WordPress SEO Plugin, is that normal? [closed]
- WordPress plugin creation how to execute .sql in order to insert multiple rows at activation of plugin
- Best way to maintain and update 3rd-party WP plugin when developer is unresponsive?
- get 404 when accessing wp-admin/plugin-install.php
- What can be reason for no plugin-strings available under stable section on translate.wordpress.org?
- Plugin: register_deactivation_hook works perfectly well, while register_activation_hook suddenly stopped working
- Are functions in main plugin file called before function bound to register_activation_hook runs?
- I want to auto populate data in three fields if one drop down is selected
- Best place for if/else piece of code related to custom plugin?
- How do you assign a UUID to posts/products/comments/reviews?
- Best way to initiate a class in a WP plugin?
- correct way to include a library(and its dependent libraries) in wordpress development
- How does task scheduler plugin implements cron that is not dependent on page load request? [closed]
- Issue Tracker from pre exsisting table [closed]
- How to make a implement queue for scheduling tasks in WordPress?
- Session destroyed on page redirect
- WordPress Plugin [closed]
- A new translation folder overrides my usual translation from “nowhere”
- wp.media javascript issue with on select
- Is there a way to test that readme looks in other language before submitting translation?
- What are the specifics of WordPress development I need to know? [closed]
- Insert data from .sql file in wordpress plugin
- WP_Async_Task doesn’t appear to be running asynchronously
- jQuery for custom plugin not working with Divi theme
- How can I make my metabox appear?
- Ajax call returning 0
- How can i get the post’s full html source by its ID?
- How to set add question capability for author role in wp pro quiz plugin
- Consolidate plugin functionality into a theme
- What would I need to write into a custom plugin in order to add a switch for a custom string of CSS to the edit page?
- Force file download on plugin activation
- How to inform the user that the save was not successful?
- php page not found for plugin options menu
- qTranslate remove default directory from link
- How to update post’s content on post publish?
- Homemade plugin while using Themify Ultra
- How to deal with WordPress and Pocket API to automate content curation on my hosted wordpress blog? [closed]
- Custom plugin init action causing general slowness
- WP All Import – Execute Imports
- WordPress Backend HA (Automatic failover)
- Checkbox conflict in my custom plugin admin page
- How to replace WordPress Media Upload Window with user’s device window?
- Conditional attributes and logic per product category
- Buidling a translate plugin for wordpress
- Why Is This Code Causing The Admin Bar to Disappear?
- How to set taxonomy in custom plugin?
- Plugin development: Buggy plugin preview
- Customization API for plugin development