du512926 2017-04-03 14:35
浏览 59
已采纳

高级自定义字段wordpress自定义类

relatively new to wordpress and ACF,

Basically I have a custom field which is a button that I need to change to a different colour based on what page they are on, so for example

Page 1 - Button needs to be blue
Page 2 - Button needs to be red

But they both use the same ACF button

Is there a way to do this or do I need to create individual ones of each page?

Thanks in advanced.

  • 写回答

1条回答 默认 最新

  • doushi9376 2017-04-03 16:48
    关注

    Wordpress adds unique classes to the body element of each page/post - and this can help you achieve what you need.

    First inspect the body element of your pages - Page 1 probably has a class page-1 and Page 2 probably has a class page-2.

    Then you can use CSS rules to target your buttons:

    /* Target Page 1 Button */
    .page-1 .btn {
      background-color: red;
    }
    /* Target Page 2 Button */
    .page-2 .btn {
      background-color: blue;
    }
    

    Alternatively, you could use the WordPress is_page() function to add a unique class to your buttons determined by page:

    <?php
    // e.g. in functions.php
    function extraButtonClass() {
      // Target by page slug or ID
      if(is_page('page-1')) {
        return ' red';
      } elseif(is_page('page-2')) {
        return ' blue';
      } else {
        return null;
      }
    }
    
    // In template:
    <button class="btn<?php echo extraButtonClass(); ?>">My Button</button>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?