<?php echo plugins_url().\'/jamesplugin/assets/library/classes/process_mailchimp.php\';?>
上面是保存在插件中的文件路径,但我想将该文件传输到一个主题,比如这里→inc/process_mailchimp.php
为了这个plugins_url()
它的主题是什么?如果我需要向您提供任何额外信息,请告诉我。
<?php echo plugins_url().\'/jamesplugin/assets/library/classes/process_mailchimp.php\';?>
上面是保存在插件中的文件路径,但我想将该文件传输到一个主题,比如这里→inc/process_mailchimp.php
为了这个plugins_url()
它的主题是什么?如果我需要向您提供任何额外信息,请告诉我。
我不知道为什么要打印PHP文件的路径,因为这不是一个好的做法。但要获得主题的等效功能,可以使用:
对于父主题:get_template_directory_uri();
get_stylesheet_uri();两者都没有尾部斜杠。
require_once()
) 可以,但通过浏览器直接访问则不行。更好的做法是检查文件是否被直接访问,并阻止访问:if( !defined( \'ABSPATH\' ) ) {
die();
}
ABSPATH
是一个常量,由WordPress定义,它包含到安装根目录的绝对路径。如果未定义,则表示您的文件正在被直接访问,可能是被黑客访问。因此,创建一个REST端点并使用它。这里有一个简单的例子。
首先,创建要调用的端点。就这么简单:
add_action( \'rest_api_init\', \'my_endpoint\' );
function my_endpoint() {
register_rest_route(
\'wpnovice/v1\', \'/my_path/\',
array(
\'methods\' => \'GET\',
\'callback\' => \'wpnovice_callback\'
)
);
}
然后,在回调函数中进行计算并在其中返回值:function wpnovice_callback( $request ){
// Your code here
return $data;
}
最后一个阶段是在Ajax调用中使用REST端点作为URL。将URL设置为:<?php echo rest_url(\'/wpnovice/v1/my_path/\'); ?>
我很难让插件正常工作Virtual Pages (WordPress插件可简化虚拟页面的创建)我确实进行了编辑,根据查询创建了一个循环。add_action( \'gm_virtual_pages\', function( $controller ) { /* Creating virtuals pages for companies */ $args = array( \'post_type\' => array(\'companies\',), \'post_status\'