The sticky posts are saved as an array of post IDs in the wp_options table. Hence,
$stickies = get_option( 'sticky_posts' );
$stickies[] = $post_id;
update_option( 'sticky_posts', $stickies );
will make the post in question sticky.
EDIT:
Even better, the core provides functions to stick and unstick posts (had to have ’em).
stick_post( $post_id );
unstick_post( $post_id );
–> See source on trac
Related Posts:
- How to automate featured posts number? [duplicate]
- How to check if post meta key exists or not in wordpress database
- How to add category to: ‘wp-admin/post-new.php’?
- How can I retrieve multiple get_post_meta values efficiently?
- WP_Query: Why is sticky post not first item in loop?
- How to allow hidden custom fields to be added from wp-admin/post.php?
- Query *only* sticky posts
- Export WordPress Posts and Meta Information in CSV format
- Delete duplicated wp_postmeta record
- Highlight a Featured Post?
- Will a large postmeta table slow a site down?
- Update all posts automatically when using post_meta
- How to batch update post content with custom post meta value
- Change slug with custom field
- Include Sticky Post in Page Posts Count?
- Better post meta efficiency?
- Setting post meta data to random value during post status transition / on publish
- Display All Sticky Post Before Regular Post
- Edit meta data does’t work with custom sql
- Human Time Diff, change mins to minutes
- Change post format using custom field
- Does WP get all post_meta on POST page?
- Sanitizing `wp_editor();` Values for Database, Edit, and Display
- Exporting Data from WordPress into a flat table
- Adding Multiple Values to a Post Meta Key
- Using radio button meta data from a custom meta box
- PHP Notice error (when on 404 page)
- What Is meta_id In wp_postmeta?
- Checking if a post with certain meta value exists
- How to permanently delete a post meta entry?
- Add custom field automatically (add_post_meta) with value based on number of words of article
- How to generate numbers indistinguishable for the IDs of the posts
- Modify WP_Post before processing
- Save re-arranged draggable post items to wordpress database
- I would like to give special promotion for the first 100 posts in my blog? Can anyone tell me how to do that?
- Change post_date to post_modified date on post template?
- Converting a dynamic piece of code using WordPress Loop into a static one using Post ID
- Sticky post appears twice
- How can I sort posts by the date and a custom meta field?
- is there a way to show the the post title after the image?
- Get Meta Key Value While Saving Post
- Force the “Choose from the most used tags” meta box section to always be expanded
- Meta value does not save for scheduled posts
- Custom Posts Query and meta_query Sort Order
- Include sticky posts on the static page front page
- How to compare two posts including their meta fields on a scalable base?
- Getting value from get_post_custom
- Calling Different Custom Post Timestamps in a table
- How to display only feautured/sticky listings on the homepage
- Is it possible to paste a link without tags and make it directly a link in a post?
- Cannot retrieve a custom RSS field from posts
- Saving custom fields to a custom taxonomy
- Only display sticky post or latest post in custom loop
- Customize rel=canonical tag for single blog post
- Change all author links in Blog roll
- How to I retrieve the ID from the Posts page?
- How to save meta checkbox WordPress
- How to calculate the average of a post meta value(Numeric) of a specific author
- Is there any way to tell when wp_postmeta has been updated?
- wpColorPicker – problem with implementation to post meta
- Change post author without using wp_update_post()
- if in category but only with post meta
- wp_query with ajax
- Update post meta within save_post action
- Display post number by category
- Updating post meta for checkbox
- Saving Post Data in Another Database
- get_previous_post() while accounting for sticky posts
- Custom permalink for each post
- How can I tell if a post has been published at least once?
- Is there a way getting post fields using `transition_post_status`
- Automatic blog page with custom design [closed]
- Sticky Post from page 2 and on
- Add multiple meta keys to a post at once
- Show number of posts by logged in user
- How does WP decide how to display a page
- When sending a newsletter -not with wordpress- the server has 100% cpu [closed]
- Retrieve data from post meta meta_key having ‘_product_fq_image’ while having author_id and post type is PRODUCT
- Insert data from custom created PHP page into wp_postmeta table
- Issue with first top post display order
- Adding a meta box to determine the sidebar [closed]
- The loop starting at a certain ID
- saving/reading custom field value does not work – no value gets POSTed
- Simple Custom Metabox Not Saving
- Get post category as a separate string and url
- marking a post that was sticky on category template
- Featured Images most often doesnt appear
- Post meta not working
- How to bulk Update URLs to new values?
- Select another post in a post meta like a parent page is selected while editing a page
- SQL DELETE multiple post_meta on single and multi-sites
- Sticky Post Doesn’t always work
- WordPress Sticky Post Count “Fix” Breaking Pagecount by 72 pages!
- How to pull sticky post permalink inside php?
- Private post caught in endless redirect loop
- How to retrieve all meta data directly from the $post object? Such as $post->related_topics?
- What is proper filter or hook action to add data to the $post object?
- Blogposting Schema & Structured Data without plugin
- Automatically select template based on query string for New Posts
- Display Updated Date Instead of Published Date