web-dev-qa-db-fra.com

Comment créer un alias de page dans WordPress

 enter image description here 

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.

2
besrabasant

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' );
    }
}
2
Sally CJ