The {$old_status}_to_{$new_status}
and {$new_status}_{$post->post_type}
hooks tend to generally solve the problem.
To avoid running the code in case post status is changed to draft then published again (after already being published), implement a simple flag using the post_meta
functionality.
Note: the updated hook should be ‘draft_to_publish’ instead of ‘draft_to_published’ however, the code below is not modified and should be if you plan to use in WP 3.5
add_action( 'draft_to_published', 'wpse47566_do_once_on_publish' );
function wpse47566_do_once_on_publish( $post ) {
// check post type if necessary
if ( $post->post_type != 'a_specific_type' ) return;
$post_id = $post->ID;
if ( !get_post_meta( $post_id, 'mycoderan', $single = true ) ) {
// ...run code once
update_post_meta( $post_id, 'mycoderan', true );
}
}
Related Posts:
- add action only on post publish – not update
- How to prevent posts from being published too close to each other?
- Is it possible to Schedule Attachments in WordPress?
- Elegant way to include only published posts with get_objects_in_term()?
- WordPress plugin to publish to multiple remote WordPress blogs
- Publish pending article from front end with a button?
- How to add a “publish” link to the quick actions
- How to limit user to publish post per day and per role?
- When a user creates a post (pending), send a confirmation link that allows them to publish
- In what sequence are the hooks fired when a post is “published”?
- Restrict the Number of Posts an Author can Publish (over time)?
- Add javascript when post is published
- featuring old articles without messing up with the archive
- Publish posts only after the condition is met
- Hiding by default specific post status on backend list?
- Detect Post Type when publish_post is ran
- How can I display a specific user’s first published post?
- Does WordPress remove draft status automatically?
- What Can I Use To Add A Custom Button Between Publish button and Move To Trash?
- Prevent post from being published if no category selected
- Send email to user that his post has been rejected
- Limit number of posts a user can make per minute?
- Every possible way to get data (posts) from WordPress
- publish_post conflicts with save_post
- Notification to Admin or Author upon new post [duplicate]
- What differences are there between a Privately Published post and a Draft post?
- How to run a function when post is edited or updated using publish post action?
- How can I create custom button in post.php
- How to rename “Publish” metabox title in post screen
- count the total number of comments the user has received for his published posts
- Automatically Updating Publish Date Bug
- How can I schedule a PAGE to go live at a future date/time?
- How to give capability (publish contributors posts) to author role?
- Print a message if excerpt is empty after posts have been publish/update!
- Check if checkbox is marked on publish/update post
- Decide user that can publish a post
- How to switch wordpress post status between publish and schedule in MySQL?
- Prevent scheduled post being published if date/time is past current date/time
- Calling Different Custom Post Timestamps in a table
- Copy post to separate database with “add_action(….)”
- Do action on publish or update?
- transition_post_status hook doesn’t have any POST data when publish with Gutenberg [closed]
- How do I manage my users post before publish?
- do more action after I publish a post
- Assign published posts to another user automatically
- Display password protected posts to logged in users
- Stop wordpress from creating empty/null entries
- WordPress bulk category select when publishing post
- How can I tell if a post has been published at least once?
- Send email for pending post
- Post: how to set created date after post has been published [closed]
- Add delay to publish post
- Publish a Silent Post without updating Feed
- How can my plugin display a populated new post window
- How to set a Post’s default visibility to ‘Private’ in Gutenberg?
- WordPress doesn’t save or publish new posts
- Hook when post is set from published to draft?
- Send email to user when I publish a new post
- My posts are getting to Auto draft when I try to Publish
- How to publish a post if condition is met?
- WordPress get tags in “publish_post” hook
- How publish post from pending status
- post is not showing more than 3949 words
- Bulk Post update_post_meta
- Create blog post from external source and set publication date
- I want to send push notification just after publish a new post
- How to Test a Blog Post for Update vs. Publish Status — Unique
- How to handle a post before publishing?
- Return All Post from publish to draft [duplicate]
- I am creating a front end dashboard where I need to show all the posts by the current user. So, I need to show posts in publish
- Action while post is being published
- How can add custom commands in post-new.php in wordpress
- How to add/assign or change featured image in post programmatically?
- WP-CLI Bulk delete posts from specific category
- Creating a Post, can authors be ordered by last name?
- Getting Whitescreen when publishing a post [closed]
- How to get value in radio input in post meta box?
- post and page and custom post type
- Do I need to create a multisite for querying posts from multiple WordPress sites?
- Show Next/Previous without Link
- Hindi content automatically converting to unreadable language?
- I can’t edit my posts
- How can I add a custom caclulation form in post?
- Display post count on archive page in reverse order
- Filter/Sort Post Form On Taxonomy page
- sub posts to parent post
- How to change Post title background size?
- Making a private post visitable by link?
- Display content from specific category
- Filters do not work when there are multiple (one works)
- WordPress Ajax load doesn’t work
- Displaying all images from a WordPress post (including media library)
- WordPress shows a count of published items on the site, but the items are not appearing when you click on the “published” link
- Restore posts, but only posts that exist in my database backup
- How to move all images in a post to a single gallery for a bunch of posts?
- Display post by select it from a dropdown menu
- I am using the query block and what I want and see on the editor page is not the same with the actual results
- Batch Scanning and Deleting Empty WordPress Posts
- WordPress Custom Post type csv exporter
- Edit Page button is gone