I currently have WordPress build an XML Sitemap
everytime a POST
or PAGE
is PUBLISHED
by using this Action…
add_action("publish_post", "create_news_sitemap");
I am not doing the same process but for a News Sitemap
which has different criteria. Such as it can only show post that are no older then 48 hours.
I have my code working but I would like to optimize it slightly.
So when add_action("publish_post", "create_news_sitemap");
is ran, I would like to ONLY run a function is it is a Custom Post Type named news
that is Publishing a post.
Is this something that is possible?
when the publish_post
action is ran, can I detect which POST_TYPE is setting it into action?
3 Answers
publish_post
will give you a second parameter if you ask for it. Notice the fourth parameter of the add_action
call. That is your post object.
function run_on_publish_wpse_100421( $postid, $post ) {
if ('news' == $post->post_type)
// your code
}
}
add_action('publish_post','run_on_publish_wpse_100421',1,2);