How is it possible to upgrade a post to make it sticky directly from code, not by admin area? Is it possible through a code like:

update_post_meta($post_id, $meta_key, $meta_value, $prev_value);

In this case, the $post_id is known, but the $meta_key?

Thank you in advance for your answers


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.


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


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.