使用 PHP 显示依赖于页面 ID 的不同 HTML 块


Using PHP to show different chunks of HTML dependent on page id

我正在尝试使用 PHP 为图像滑块输出不同的 HTML,具体取决于 WordPress 网站的正文页面 ID

我已经尝试了以下内容,但是作为PHP的新手,我似乎有点腌制。它只需要简单 - 我可以通过 CSS 做到这一点,但我宁愿不要加载所有图像只是为了显示其中的几个。如果可能的话,我也宁愿不使用插件。

任何指示将不胜感激。

谢谢

<?php if($id == "page-id-19") {
?>
<div class="imageSlider"><img src="<?php echo bloginfo('template_directory');?>/Images/mainImages/innerPage-Image.jpg" alt="" /><img src="<?php echo bloginfo('template_directory');?>/Images/mainImages/innerPage-Image2.jpg" alt="" /><img src="<?php echo bloginfo('template_directory');?>/Images/mainImages/innerPage-Image3.jpg" alt="" /></div>
<?php
}
elseif ($id == "page-id-23") {
?>
<div class="imageSlider"><img src="<?php echo bloginfo('template_directory');?>/Images/mainImages/innerPage-Image4.jpg" alt="" /><img src="<?php echo bloginfo('template_directory');?>/Images/mainImages/innerPage-Image5.jpg" alt="" /><img src="<?php echo bloginfo('template_directory');?>/Images/mainImages/innerPage-Image6.jpg" alt="" /></div>
<?php
}
?>

**更新*****

我意识到id实际上是一个类。

例如。"body class="page page-id-19 page-template page-template-inner-page-php"

但是,当使用下面建议的解决方案时,它根本不会向页面输出任何 HTML......它通过包含 - 被调用到模板页面

    <?php
   switch($class){
     case "page-id-19":
?>
         <div class="imageSlider"><img src="<?php echo bloginfo('template_directory');?>/Images/mainImages/innerPage-Image.jpg" alt="" /><img src="<?php echo bloginfo('template_directory');?>/Images/mainImages/innerPage-Image2.jpg" alt="" /><img src="<?php echo bloginfo('template_directory');?>/Images/mainImages/innerPage-Image3.jpg" alt="" /></div>
<?php   
     break;
     case "page-id-23":
?>
         <div class="imageSlider"><img src="<?php echo bloginfo('template_directory');?>/Images/mainImages/innerPage-Image4.jpg" alt="" /><img src="<?php echo bloginfo('template_directory');?>/Images/mainImages/innerPage-Image5.jpg" alt="" /><img src="<?php echo bloginfo('template_directory');?>/Images/mainImages/innerPage-Image6.jpg" alt="" /></div>
<?php
     break;
   }
?>

不要$id,而是尝试使用 $post->ID

或者,您需要使用以下命令创建$id:

$id = $post->ID;

我可能误解了这个问题,但我理解你在问什么的方式,我认为你最好使用开关来实现这一点。

开关:

<?php
   switch($id){
     case "page-id-a":
?>
         Put your HTML here.
<?php   
     break;
     case "page-id-b":
?>
         Put your HTML here.
<?php
     break;
   }
?>

我放页面 id-a 或页面 id-b 的地方,让这些成为您目前拥有的页面 id-23 等。

它并不像看起来那么复杂,而且逻辑性非常可怕。

您可以在以下位置阅读有关交换机的更多信息:

http://www.w3schools.com/php/php_switch.asp