我试着阅读WordPress codex中关于将WordPress集成到现有网站的内容。
我尝试使用标题信息
<?php /* Short and sweet */ define(\'WP_USE_THEMES\', false);
require(\'./wp-blog-header.php\'); ?>
然后是测试代码
<?php // Get the last 3 posts.
global $post; $args = array( \'posts_per_page\' => 3 );
$myposts = get_posts( $args );
foreach( $myposts as $post ) : setup_postdata($post); ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a><br />
<?php endforeach; ?>
我添加了另一个代码,使页面仅适用于登录用户:
if ( ! is_user_logged_in() ) { // Display WordPress login form:
wp_login_form($args);
此代码确实显示了登录,但当我登录时,它记不起它是否已登录,并且不会显示功能(博客帖子)。有趣的是,登录表单(由wp\\u login\\u表单调用)显示,但我无法登录。这很令人担忧,因为抄本中的信息不起作用
Integrating Wordpress with Your Website它不起作用。有人能帮我吗?我试着在WordPress论坛上发帖,但没有任何帮助
11月7日新编辑:这就是PHP文件现在的样子。这叫做lite\\u索引。php并包含wp负载,因此我相信下面的登录表单显示,bt仍然无法登录。
<?php
//define(\'WP_USE_THEMES\', false);
//require(\'lite/wp-blog-header.php\');
define(\'COOKIEPATH\', \'/\');
require(\'lite/wp-load.php\');
require(\'loggin_check.php\');
//require(dirname(__FILE__) . \'lite/wp-load.php\');
//header(\'Content-Type: text/html; charset=ISO-8859-1\');
$posts = get_posts(\'numberposts=10&order=ASC&orderby=post_title\');
foreach ($posts as $post) : setup_postdata( $post ); ?>
<?php the_date(); echo "<br />"; ?>
<?php the_title(); ?>
<?php the_excerpt(); ?>
<?php
endforeach;
?>
<h1>Lite v4</h1>
<?php
if ( ! is_user_logged_in() ) { // Display WordPress login form:
wp_login_form($args);
} else {
wp_loginout(index.php); // Display "Log Out" link.
echo " | ";
wp_register(\'\', \'\'); // Display "Site Admin" link.
echo "<br />\\n";
}
?>
最合适的回答,由SO网友:Zeth 整理而成
我开始写一篇很长的评论,但我想我会把它作为一个解决方案来写。
如果您将所有文件混合在一个大杂烩中,那么它可能无法工作。但是如果你把WordPress放在一个子目录中,那么它就会工作(我以前就是这样做的)。
记住!!!如果您已经安装了一个工作的WordPress,并且想要移动帖子,那么您不能简单地移动文件。你必须遵循正确的程序explained here.
混合静态网站和WordPress的正确文件结构示例:
|-your-index.php
|-your-page-1.php
|-your-page-2.php
|-your-css
| |-your-styles.css
|
|-your-js
| |-your-js-file.js
|
|-wp <-- Put your entire WP-installation in a folder
|-wp-content
| |-themes
| |-uploads
| |-...
| |-...
|
|-wp-includes
| |-...
| |-...
|
|-wp-admin
| |-...
| |-...
|
|-wp-config.php
|-wp-blog-header.php
|-...
|-...
这样你就可以打电话
<?php require( $_SERVER[\'document_root\'] . \'/wp/wp-blog-header.php\'); ?>
然后,您可以将自己的静态文件和WordPress安装分开并使其工作。我过去就是这样做的,这很管用。
<小时>
Flipside
我可以(通过谷歌搜索一下)看到,@Bob的建议似乎变得更受欢迎了。
Here\'s an example, using wp-load. 我必须承认,我不知道两者之间有什么区别。
This solution 建议第三种方法。
但从各方面考虑。。。无论您以何种方式加载WordPress,那么我认为您当前面临的挑战是您的文件结构(如果我没有弄错的话)。WordPress需要自己的独立环境(文件夹),这样它就可以生成URL并按预期调用文件。
<小时>
Final word
但正如我在评论中所建议的那样。我曾经这样做过,-我希望我从来没有这样做过。我希望我已经将我的静态网站烘焙成WordPress主题。