在不同页面中更改h1

时间:2018-03-05 19:00:55

标签: php wordpress

我有一个WP网站,每个页面都有一个标题H1作为标题,正确的是代码改变了这个标题,如果页面是服务帖子,如果没有发布页面的标题,但我想发布与页面名称不同的标题。

这是我的代码:

    <h1 style="background: #000;
     color:#FFF;
     margin-bottom:10px;
     padding:8px 12px;
     box-sizing:border-box;
     text-transform: uppercase;
     font-size: 16px;">

     <?php if (is_page('services')) {
      ?>SERVICES<?php 
       } else { 
        the_title();
       }
      ?>

</h1>

1 个答案:

答案 0 :(得分:0)

要解决的问题很多:

  1. Don't use inline styles。那是不好的形式。分配CSS类,并将CSS添加到样式表。
  2. Format your code。永无止境的代码块无法读取,诊断和排除故障。
  3. 这样做会导致条件if语句乱七八糟。 is_page一次只能为你处理一个覆盖,并且它很脆弱 - 如果页面slug / title改变,这个函数将不再提取它。我强烈建议您使用Advanced Custom Fields这样的内容,并允许以这种方式设置“显示标题”。编码,维护等等要容易得多。
  4. 最后 - 使用您给我们的一点点,这里将您的代码重新构建为更易读,可用且功能更强的解决方案:

    <?php
    // Load the title into a variable for simpler manipulation / logic
    $title = get_the_title();
    // If the page is the 'services' slug page, set the title
    if ( is_page('services') ) {
       $title = 'Services';
    }
    
    // other conditions can go here, if you like
    if ( is_page('contact' ) {
       $title = 'Contact Us';
    }
    ?>
    
    <h1 class="page-title"><?php echo $title; ?></h1>