jesspinkman / wp-file
获取WordPress的文件URL和路径
0.0.4
2021-01-11 10:21 UTC
This package is auto-updated.
Last update: 2024-09-21 11:19:11 UTC
README
2个实用类,用于获取文件URL和路径,并支持版本控制
安装
composer require jesspinkman/wpfile
使用
三个主要函数
getUrl()
getPath()
getVersion() // file modification time
对于主题
无需设置主题的根文件夹,直接使用即可
use WPFile\ThemeFile; // load a js script add_action('wp_enqueue_scripts', 'load_script'); function load_script() { $file = new ThemeFile('assets/js/my-script.js'); \wp_enqueue_script( 'my-script', // script handle name $file->getURL(), // file url (eg: https://my-website.com/.../.../my-theme/assets/js/my-scripts.js) [], // empty dependencies $file->getVersion() // file modification timestamp (eg: 1621496690) ); // generated url https://my-website.com/.../.../my-plugin/assets/js/my-scripts.js?ver=1621496690 }
对于插件
在插件根文件中设置根路径
<?php /** *plugin name: your-plugin * ... */ use WPFile\PluginFile; require __DIR__ . '/vendor/autoload.php'; PluginFile::setRoot(__FILE__); // or set another root folder
然后在插件中的任何地方
use WPFile\PluginFile; // load a js script add_action('wp_enqueue_scripts', 'load_script'); function load_script() { $file = new WPFile('assets/js/my-script.js'); \wp_enqueue_script( 'my-script', // script handle name $file->getURL(), // file url (eg: https://my-website.com/.../.../my-plugin/assets/js/my-scripts.js) [], // empty dependencies $file->getVersion() // file modification timestamp (eg: 1621496690) ); // generated url https://my-website.com/.../.../my-plugin/assets/js/my-scripts.js?ver=1621496690 } // load a specific php template if page is product archive page add_filter('template_include', 'hook_template'); function hook_template(string $template) { if (\is_post_type_archive('products')) { $template = new PluginFile('templates/products/archive.php'); return $template->getPath(); //file path (example: /var/www/html/.../.../my-plugin/templates/products/archive.php) } else { return $template; } }