The problem seems pretty straight forward: Once the save_post
action is fired, I would like to append the value of a meta key onto the end of the post_content
if it’s not already found within the post itself.
I’ve attempted making a call to wp_update_post()
from within a function tied to save_post
, but as many of you will immediately object, wp_update_post()
contains do_action('save_post')
and as such creates an infinite loop.
What other way (using the API) exists for one to update the content of a post based on said posts custom values once the post has been saved/edited without invoking a nightmarish infinite loop?
The initial solution I’ve found is to tie a filter onto an action like
wp_insert_post_data
and extract other post information from the global$post
object.I’m certain this could see improvement.
References
add_filter()
– “Filters are the hooks that WordPress launches…”wp_insert_post_data
– “A filter hook called by the wp_insert_post function…”global
keyword – “The scope of a variable is the context within which it is defined…”get_post_meta()
– “This function returns the values of the custom fields…”stristr()
– “Find first occurrence of a string (Case-insensitive)…”