在MAMP上将plugin_dir_path()与WordPress配合使用

时间:2012-05-31 作者:Philip Downer

我有以下目录结构:

Root安装:/Users/philipdowner/Sites/montanaliving

在root安装中,我有以下插件结构:

/wp内容/插件/清单RET/

然后,在plugin文件夹中,我有2个php文件清单ret。phpphrets。php

在主插件文件中,我有以下代码:

<?php
/*
Plugin Name: Manifest RETS
Plugin URI: http://manifestbozeman.com
Description: Uses the phRETS library to connect to a RETS server
Version: 1.0b
Author: Philip Downer
Author URI:http://philipdowner.com
License: GPL2
*/

define(\'MR_PLUGIN_PATH\', plugin_dir_path(__FILE__));    

//echo MR_PLUGIN_PATH;
include_once(MR_PLUGIN_PATH.\'phprets.php\'); 

?>
然而,当运行插件时,我得到了以下错误,指出这些短语。找不到php文件。它快把我逼疯了!有什么建议吗?我是否忽视了一些显而易见的事情?

警告:include\\u once(/Users/philipdowner/Sites/montanaliving/wp-content/plugins/manifest-rets/phprets.php)[函数。include once]:未能打开流:在/Users/philipdowner/Sites/montanaliving/wp-content/plugins/manifest-rets/manifest-rets中没有这样的文件或目录。php在线15

警告:include\\u once()[函数.include]:打开“/用户/philipdowner/站点/montanaliving/wp内容/插件/清单rets/phprets失败。php(include\\u path=\'。:/Applications/MAMP/bin/php/php5.3.6/lib/php)包含在/Users/philipdowner/Sites/montanaliving/wp-content/plugins/manifest-rets/manifest-rets中。php在线15

我尝试传入ABSPATH常量,但使用PHP的set\\u include\\u path()函数无效。

2 个回复
最合适的回答,由SO网友:Bruce Pearson 整理而成

我不知道为什么这对你不起作用。

我通常使用dirname设置插件路径常量(FILE)

您可以尝试:

define(\'MR_PLUGIN_PATH\', dirname(__FILE__));    

//echo MR_PLUGIN_PATH;
include_once(MR_PLUGIN_PATH.\'/phprets.php\'); 
此外:

你确定是phprets吗。php存在。你说你有短语。php(缺少p)

SO网友:Chris_O

听起来MAMP的设置方式有问题。您对以下主题功能有什么问题吗get_template_directory()?

这样试试,看看会发生什么。

include_once dirname( __FILE__ ) . \'/phprets.php\';

结束