背景:我正忙着为WordPress进行主题开发。我是个菜鸟。我已经完成了关于如何开发主题的多个教程。我认为,我目前正在研究的主题存在页面竞争问题。我正在MAMP上构建它(如果这很重要)。现在这个新主题并不多。我刚开始制作了我认为我需要的所有模板文件。除“index.php”和“style.css”之外的所有内容都是空白的。函数文件中也没有任何内容。页眉和页脚以及菜单的所有信息目前都在“index.php”中。
问题:当我在主题文件夹中包含文件“page.php”时,页面上没有任何内容加载。我并不仅仅是视觉上的意思。模板中的所有元素都不会出现在页面上。我也在主题文件夹中有“index.php”。当从文件夹中删除“page.php”时,主题将按照应有的方式加载所有内容。根据{{3}},我的理解是在页面模板之前调用索引。我打算使用网页。所以在我看来,“page.php”正在与index.php竞争并打破模板。
问题:“page.php”是“index.php”的竞争对手吗?如何修复它以免破坏我的主题?为什么它可以在我的主题上而不是在其他主题上这样做?
我尝试过的事情:
我读过的内容:我已经完成了我的作业,尝试解决问题,而不必在堆栈上提出另一个问题,但我似乎无法找到有同样问题的其他人(这只会让我觉得这可能是显而易见的,我做错了但是因为我是一个菜鸟,我错过了它或者什么)。我已经完整地阅读了所有这些内容:
我已经完成了您能想到的每一个Google搜索... 没有用。
非常感谢任何有关此事的帮助。 Latly这里是index.php的内容:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>WordPress Training Wheels</title>
<link href="<?php bloginfo('stylesheet_url'); ?>" rel="stylesheet" type="text/css" />
<link href='http://fonts.googleapis.com/css?family=Dancing+Script:400,700' rel='stylesheet' type='text/css'>
</head>
<body>
<div id="container" class="container_16">
<div id="header" class="grid_16"><!-- Header Begins Here -->
<h1><a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a></h1>
<h2><?php bloginfo('description'); ?></h2>
<?php
wp_nav_menu(
array(
'theme_location' => 'top_header',
'container' => 'div',
'container_id' => 'top-menu',
'menu_class' => 'top-menu-list',
'fallback_cb' => 'false'
));
?>
</div>
<?php
wp_nav_menu(
array(
'theme_location' => 'bottom_header',
'container' => 'div',
'container_id' => 'menu',
'menu_class' => 'bottom-menu-list'
));
?>
<div id="content">
<div class="sidebar left grid_3"><!-- Left Sidebar Begins Here -->
<h4>Sidebar Header</h4>
<?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Left Sidebar') ) : ?>
<h3 class="widget-title">Categories</h3>
<ul>
<?php wp_list_categories(); ?>
</ul>
<h3 class="widget-title">Archives</h3>
<ul>
<?php wp_get_archives(array('type' => 'monthly')); ?>
</ul>
<?php endif; ?>
</div>
<div id="middle-column" class="grid_6"><!-- Main Content Begins Here -->
<h3>Training Wheels Lesson 1</h3>
<p><img src="<?php bloginfo('template_directory'); ?>/images/training-wheels.jpg" width="426" height="142" alt="Training Wheels" /></p>
</div>
<div class="sidebar right grid_3"><!-- Right Sidebar Begins Here -->
<h4>Sidebar Header</h4>
<?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Right Sidebar') ) : ?>
<h4>No Widgets added</h4>
<p>Please login and add some widgets to this sidebar</p>
<?php endif; ?>
</div>
<div style="clear:both;"></div>
</div><!-- Content Ends Here -->
<div id="footer"><!-- Footer Content Begins Here -->
<p>© Wordpress Training Wheels, by wpbedouine</p>
</div>
</div>
</body>
</html>
答案 0 :(得分:2)
经过大量的搜索,我相信我找到了解决方案。 “home.php”并没有被主题使用,因为我在顶部的评论中没有重要的一句话。我补充说:
<?php
/*
Template Name: Front Page
*/
?>
到“home.php”的顶部,然后进入wp-admin并点击页面&gt;所有页面&gt; home。然后,我在页面编辑器的右侧找到了一个名为“Template”的下拉列表项。我将其从“默认模板”更改为“首页”。
我想我阅读层次结构的方式让我认为WordPress会自动使用“home.php”或“front-page.php”作为主页的模板。显然这是一个不正确的假设,因为在评论中没有该行并告诉它使用什么模板,WordPress将只使用page.php作为模板。
至少,这就是我的看法。任何想要改进这个答案或进行更正的人都可以。
答案 1 :(得分:0)
只是一个想法,但你的主页可以设置为一个页面,而不是博客?与设置&gt;阅读一样。 http://codex.wordpress.org/Creating_a_Static_Front_Page
否则,我不明白为什么你的主页会使用page.php而不是index.php。
答案 2 :(得分:0)
以下内容可能会有所帮助。
如果您同时设置了主页和博客页面,那么 wordpress 使用 index.php 作为博客,使用 front-page.php 作为您设置的主页。 Incase,只设置了主页,没有创建front-page.php,它只使用index.php