2013-06-27 46 views
0

我试图根据访问哪个内页来设置不同的页眉背景图片。现在,我对所有内部页面都有相同的图片,并且需要更改php代码以使其有条件。就像在联系人页面上的im一样,1.jpg被设置为标题img。如果在服务页面上,2.jpg被设置为标题img等,你就明白了。 以下是本WP主题即时试图提高一个朋友发现PHP代码IVE:每个WordPress页面的自定义背景图片?

 <div class="bgtop"> 
     <?php 
     //display featured image if one exists 
     $featimage = get_bloginfo('stylesheet_directory') . "/images/pageheader.png"; 

     if ((has_post_thumbnail($post->ID))&&(!is_single()&&(!is_category()))){ 

      $image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'single-post-thumbnail'); 
      $featimage = $image[0]; 
      } 

     ?> 


     <div class="pageheader" style="background: url(<?php echo $featimage; ?>); background-position: center top;"> 
      <div class="centermenu"> 
     <div class="pagelogo"> 
       <!--<a href="<?php bloginfo('home'); ?>"> 
        <img src="<?php bloginfo('stylesheet_directory'); ?>/images/indexlogo.png" alt="logo" /> 
       </a>--> 
    </div> 
+0

我在PHP不好,并尝试了几个小时,找到方法来添加该标题BG图片取决于访问页面。不知道我卡住.. – rid

+0

根据图像/页面的数量,你可能会更好使用CSS。 –

+0

根据页面添加不同的类或id到body标签,并使用css执行此操作 – Rooster

回答

0

嗯..这是更多的是结构的东西。你如何确定他们在哪个页面上?用户是否点击链接?使用服务器可用的信息来决定要提供哪些内容。如果您使用一个脚本来为您的所有页面提供服务,那么当用户单击链接时,您需要传递一个参数。你可以通过让你的链接参数来做到这一点。

标记,像这样:

<a href='default.php?page=home'> Navigate To Home </a> 
<a href='default.php?page=blog'> Navigate To Blog </a> 

PHP像这样:

if($_POST['page'] == "home") 
    echo $homeheader; 
elseif($_POST['page'] == "blog") 
    echo $blogheader; 

,但通常你只要把多个PHP页面,其中包括一些共同的要素(称为模板)。这有助于保持清洁,而不是让一个PHP脚本提供整个站点。

0

如果你想在WordPress的后端管理这个:你可以使用WordPress的高级自定义字段插件(http://wordpress.org/plugins/advanced-custom-fields/)。通过它,您可以在每个页面上添加一个字段,甚至每个帖子都允许您输入背景图片。

然后,在你的header.php模板文件,添加的地方简码在你的身体标记:

<body background="(<?php the_field('background_image')" ?>)">

取决于你在什么页面,它会显示背景图片。


如果您想自动化过程:您可以创建一个名为“BG”文件夹,并使用相同的名称为您的页面有一个形象。例如,对于about.php,您可以使用about.jpg。

然后编写一个采用页面名称的脚本,然后将背景图像设置为该名称。您会将这在header.php文件在你的模板是这样的:

$page = end(explode("/",$_SERVER['REQUEST_URI'])); 
$image = str_replace("php","jpg",$page); 

然后使用: <body background="bg/<?php print $image ?>">

这是假设您把图像文件http://www.yoursite.com/bg/但你也可以使用简码继续这些图像在您的主题<?php echo get_template_directory_uri(); ?>