不同的Single.php内容取决于页面

时间:2016-09-13 15:42:16

标签: php jquery html css wordpress

背景故事:我过去5个月一直在处理这个网站。我以前没有使用Wordpress的经验,但我有一些HTML,CSS和PHP。

我有两种不同的方法可以在自定义Wordpress模板上显示帖子。

关于"服务"页面,通过单击不同的按钮将帖子加载到动态内容div。每个按钮通过调用特定的帖子ID来加载同一div上的不同帖子:

<a 
href="#contentBox1" 
class="dem_buttons" 
onclick="loadPage1('<?php the_permalink(361) ?>')" 
target="#contentBox1">
</a>

<div class="text-center clearfix" id="contentBox1"></div>

在&#34;搜索&#34;页面没有动态内容div。每个搜索结果都包含一个图像,标题和帖子的摘录。在搜索结果出现后,点击各自的标题即可获得帖子。

问题在于:如果我没有在single.php上包含页眉和页脚,则在点击搜索结果的标题后,帖子将不会加载样式,导航栏和页脚。由于此搜索页面,我需要在single.php上加载页眉和页脚,但这意味着&#34;服务&#34;的动态内容div上将有第二个页眉和页脚。页面,以及。

我尝试用:

启动single.php
<?php
if ( is_page([page id]) ) { ?> 

[single.php's content]

<?php
} else { 

get_header(); ?>
[single.php's content]
<?php get_footer(); 

} ?>

没有成功。我也试过了!is_page,但也没有运气。

请不要推荐插件。我真的需要手工编写所有代码。书面理由比这篇文章更长。

2 个答案:

答案 0 :(得分:0)

我在Wordpress方面并不是100%肯定,但是你可以将第二个/第一个标题包装在一个具有特定id的div中,然后给那个id一个显示样式吗?如下所示:

HTML

<header class='header'> ..... </header>
<div id='hidden-header'>
   <header class='header'> ..... </header>
</div>


CSS

#hidden-header {
   display: none;
}

让我知道这是否有帮助,也许我可以看看我是否能找到别的东西。

答案 1 :(得分:0)

最终解决方案是重新排列single.php的部分,以便使用include(或require)来显示给定帖子的内容(在此命名为:postcontent.php)。

// Pseudo code

get_header()
// postcontent.php is the body of the post
include_once( postcontent.php )
get_footer()

这种方式single.php有它的页眉和页脚,但&#34;服务&#34;模板可以直接包含帖子的内容:

// Pseudo code

// Template: Services
get_header()
// the content of the "Services" template
services_content()
// postcontent.php is the body of the post referenced
include_once( postcontent.php )
get_footer()

这两种页面上都有页眉和页脚,每个页面上只有一个页眉和页脚。