Descripción
The plugin allows to highlight the CPT in the same way as would the WordPress core functionality for posts.
You can highlight new content created for your CPT.
It is also possible to highlight the content quickly thanks to quick edit and bulk actions.
The sticky checkbox is available in the block editor, in the classic editor, in quick edit and in bulk edit, for every public custom post type.
Sticky items are stored in the core sticky_posts option, exactly like sticky posts: is_sticky() works out of the box.
Start example
$args = array(
'post_type' => ['project'],
'post_status' => 'publish',
'posts_per_page' => -1,
'post__in' => get_option( 'sticky_posts' )
);
$stickyProject = new WP_Query( $args );
Hook available
add_filter( 'sticky_cpt_add_cpt' , 'add_cpt' );
function add_cpt( $post_types ) {
$post_types['newcpt'] = 'newcpt';
return $post_types;
}
Instalación
- Upload the plugin files to the
/wp-content/plugins/sticky-cptdirectory, or install the plugin through the WordPress plugins screen directly. - Activate the plugin through the 'Plugins' screen in WordPress
FAQ
-
Does my custom post type need the `custom-fields` support?
-
No. Since 3.0.0 the block editor uses the native
stickyfield of the REST API. Your custom post type only needsshow_in_restto use the block editor. -
Who can stick a content?
-
Users who can both publish and edit others' contents of the custom post type, the same rule WordPress applies to posts.
-
I was reading the `sticky_value_cpt` post meta, what should I do?
-
This meta was removed in 3.0.0. Use
is_sticky( $post_id )orget_option( 'sticky_posts' )instead. -
How are sticky contents synchronized between Polylang translations?
-
Enable "Sticky posts" in the Polylang synchronization settings. Until 2.0.0 the sticky state was carried by a custom field, so it followed the "Custom fields" synchronization. Since 3.0.0 it only follows the "Sticky posts" synchronization.
-
Known issue with Polylang: a bulk edit unsticks translated contents
-
When the Polylang "Sticky posts" synchronization is enabled, a bulk edit that leaves the "Sticky" field on "No Change" unsticks the edited contents and their translations. This comes from Polylang (observed with Polylang 3.8.10) and also affects regular posts, with or without this plugin. Until it is fixed in Polylang, select "Sticky" explicitly in the bulk edit form when all the selected contents are sticky, or stick them again afterwards.
Reseñas
Colaboradores y desarrolladores
"Sticky CPT" es un software de código abierto. Las siguientes personas han colaborado con este plugin.
ColaboradoresTraduce "Sticky CPT" a tu idioma.
¿Interesado en el desarrollo?
Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.
Registro de cambios
3.0.0
- Rewrite: the sticky state now relies on the native
stickyREST field, thecustom-fieldssupport is no longer required for the block editor. - Breaking: the
sticky_value_cptpost meta is removed and deleted on update. Useis_sticky()or thesticky_postsoption. - Breaking: with Polylang, the sticky state no longer follows the "Custom fields" synchronization. Enable the "Sticky posts" synchronization instead.
- Security: only users allowed to publish and edit others' contents of the post type can stick or unstick a content.
- Fix: a sticky content is no longer unstuck when it is saved from the block editor with meta boxes, or from quick edit on hierarchical post types.
- Fix: duplicated IDs in the
sticky_postsoption and wrong sticky counter. - Fix: stray text printed in the classic editor footer.
- Performance: the sticky counter of the list screen no longer loads every ID of the post type.
- Block editor script migrated to
wp.editor.PluginPostStatusInfo. - Requires WordPress 6.6 and PHP 8.2. Tested with WordPress 7.1.
2.0.0
- 19 march 2020
- Gutenberg compatibility
1.0.1
- 04 july 2017
- Add contributor Whodunit and Check compatibility WordPress 4.8
1.0.0
- 22 oct 2016
- Initial release \o/


