这两种方法中哪一种是正确的?如果两种方法都正确,每种方法的用例是什么?使用一种方法或另一种方法的区别是什么?
方法1:
<?php
define('WP_USE_THEMES', false);
require('./wp-blog-header.php');
?>
方法2:
<?php
define('WP_USE_THEMES', false);
require('./wp-load.php');
?>
#1 楼
文件之间没有什么区别。当您查看WordPress页面时,第一个文件名为index.php
。从本质上讲,它是您的“方法1”:define('WP_USE_THEMES', true);
/** Loads the WordPress Environment and Template */
require ('./wp-blog-header.php');
博客头文件(将WordPress的其余部分排入队列)直接加载
wp-load.php
并启动WordPress本身。这是wp-blog-header.php
的大部分内容:if ( !isset($wp_did_header) ) {
$wp_did_header = true;
require_once( dirname(__FILE__) . '/wp-load.php' );
wp();
require_once( ABSPATH . WPINC . '/template-loader.php' );
}
因此,两种方法之间的区别是...加载了什么。
方法1正是WordPress会自动加载(关闭主题除外)。因此,如果您需要所有的WordPress,并希望触发所有默认的挂钩/操作,请遵循该路线。
方法2只是一步一步。它加载所有WordPress,但不调用
wp()
或调用模板加载器(由主题使用)。方法2会更轻一些,但应该为您提供相同的功能。评论
是否有一个图表或某种东西可以映射所有这些文件?我很久以前见过,但找不到。
– ninja08
2015年6月12日在16:53
#2 楼
问题2的方法:<?php
define( 'WP_USE_THEMES', false ); // Don't load theme support functionality
require( './wp-load.php' );
wp-load.php
是对WordPress所有功能的访问,仅此而已。第一行告诉WordPress不加载主题文件;也许文件对于您的要求是必需的,然后删除该行。 评论
第一行甚至意味着什么?
–敏捷的SEO
2012年3月27日在22:35
第一行告诉WordPress不要加载其所有主题支持功能。基本上,加载较少的文件。
–EAMann
2012年3月27日22:52
第一行只需要第一种方法吗?
–mcont
2014年10月5日13:46
#3 楼
wp-blog-header.php将附加标头状态,它将返回404的http状态代码wp-load.php不会
使用时需要注意Ajax检查HTTP状态代码
#4 楼
有时加载主题的functions.php可能会给您带来一些麻烦。它破坏了我另一页的html。这就是我所做的并解决了我的问题:define('STYLESHEETPATH', '');
define('TEMPLATEPATH', '');
require_once(RAIZ_WORDPRESS."/wp-load.php");
#5 楼
@ ninja08我们可以使用xDebug php扩展来分析脚本。
只需从行首删除
;xdebug.profiler_enable = 1
即可在php.ini
文件中启用;
,并在此重启apache服务器后运行wordpress网站...现在在您的xampp服务器的tmp目录中创建了一个文件。.使用WincachGrind应用程序打开此文件。现在您可以看到脚本的映射了
评论
您应该已经在ninja08下面的评论中添加了此内容。现在这是一个错误的答案。
–alhoseany
2015年12月15日在7:26
@alhoseany是的..我现在...但是我没有足够的声誉...然后我决定这样做。
– Mostafa
15年12月15日在18:48
#6 楼
您无需调用整个主题即可使用功能,只需在wordpress目录中使用wp-load.php的位置即可。<?php
require($_SERVER['DOCUMENT_ROOT'] . '/wordpress/wp-load.php');
?>
评论
您尝试使用哪些WP函数“ WP之外”,为什么?这两种方法仍然可以加载WP环境(尽管没有主题支持),因此您仍在WP内部调用函数。我试图了解两种方法之间的区别。我要做的是将wordpress主题与我的支持脚本集成在一起。因此需要wordpress的页眉,页脚和循环,以及对小部件和其他插件的一些支持
我真的很怀疑这是您要执行的操作的方式……有比尝试重新启动WordPress本身更好的解决方案。
我愿意征求建议,我正在寻找做事的最佳方法?将wordpress主题与外部Web应用程序集成的最佳方法是什么?