Dans l'image que vous voyez ... WordPress a un alias pour des pages comme Page d'accueil , Page de paiement , Page de la politique de confidentialité et tout ce qui apparaît à côté de la page que vous leur attribuez .
Comment créer cette fonctionnalité dans WordPress? Si je veux aliaser une page comme XYZ Page et que j'assigne n'importe quelle page à cet alias ... XYZ Page apparaît à côté de la page attribuée.
Ce sont en fait des états postaux; pas alias .. Et vous pouvez le faire via le filtre display_post_states
, comme tel, où nous vérifions si l’ID de la publication ($post->ID
) est 123
et si oui, nous affectons l’état XYZ Page
à cette publication (qui pourrait être un Page, type de message personnalisé, etc.):
add_filter( 'display_post_states', 'my_post_states', 10, 2 );
function my_post_states( $post_states, $post ) {
if ( 123 === $post->ID ) {
$post_states['xyz_page'] = 'XYZ Page';
}
return $post_states;
}
Et pour référence, il s’agit de la condition que WordPress utilise pour les états "Front Page" et "Posts Page":
if ( 'page' === get_option( 'show_on_front' ) ) {
if ( intval( get_option( 'page_on_front' ) ) === $post->ID ) {
$post_states['page_on_front'] = __( 'Front Page' );
}
if ( intval( get_option( 'page_for_posts' ) ) === $post->ID ) {
$post_states['page_for_posts'] = __( 'Posts Page' );
}
}