I recently had a need to have an Options page fallback for the Advanced Custom Fields plugin.
I have a field called, “state_name” that loads on both the Options page and single pages. The idea is that the options page will say “United States”, while each page has the option to override that with “Missouri”, “Illinois”, etc. If a page does not have a state entered in the “state_name” field, then it displays, “United States” from the Options page.
It is easy to code conditional fallbacks for specific fields within the theme, but shortcodes used within wysiwyg custom fields will not fall back to the Options page and have a chance of rendering empty.
For example, if I have a custom field called, “description”, and I use the shortcode, it will return the state name ONLY IF the “state_name” field is filled in on that specific page. There is no fallback to the Options page.
To get the shortcodes to fall back properly as well, add the following to functions.php in your theme:
// via http://www.advancedcustomfields.com/resources/filters/acfload_value/
function my_acf_load_value( $value, $post_id, $field )
{
// run the_content filter on all textarea values
if ($value) {
//$value = apply_filters('state_name',$value);
} else {
$value = get_field('state_name','options');
}
return $value;
}
// acf/load_value/name={$field_name} - filter for a specific value load based on it's field name
add_filter('acf/load_value/name=state_name', 'my_acf_load_value', 10, 3);
It is a bit complex to explain, but if you ever have the problem, hopefully this post will help you!
[NOTE: Many thanks to Elliot for helping me solve this one!]
More posts from themightymo.com
My WordPress Maintenance Process
A few quick things: My WordPress Maintenance Process Demo, Part 1 Transcript: You’ll see immediately after logging in, you see the 11 updates needed as well as some messages. I’m just gonna quickly read. It looks like this. I don’t need to worry about. Are you enjoying Monster Insights? Not really <laugh>. What’s to enjoy…
How to style FacetWP checkbox hierarchy results using jQuery
I recently invested many hours trying to target and style a FacetWP taxonomy facet that uses hierarchy for display. It should be noted that you can use straight up CSS for some styling (and should use css wherever possible), but sometimes you need javascript to target parent elements and such. I thought I’d document the…
How to fix SpinupWP ballooning disk space issue
A site we host on Digital Ocean recently went down. It took me a lot of troubleshooting and digging before realizing that the issue was that our disk space was maxed out on Digital Ocean. The site in question needs ~20gb of space, so our 50gb server should be plenty. But alas, there it was…