'advanced custom fields wordpress custom class
I have a custom field in ACF 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?
Solution 1:[1]
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>
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | csknk |