web-dev-qa-db-fra.com

Comment ajouter des numéros uniques aux nouveaux titres/urls de messages en double?

À partir de maintenant, si vous créez deux (2) publications avec le même titre, vous obtenez les éléments suivants:

domain.com/test/ domain.com/test-2/

Si vous créez un troisième article, vous obtenez alors une autre URL du type:

domain.com/test-3/

Je travaille sur un répertoire, donc les chances que quelqu'un porte le même nom sont plutôt bonnes; par conséquent, je souhaite ajouter une chaîne d'URL personnalisée à la fin du nom dupliqué, et pas seulement un nombre à 1 chiffre.

Est-il possible pour moi d'ajouter une chaîne personnalisée de 4 à 5 chiffres à la fin d'une publication/page/liste dupliquée? Pour qu'il se lise:

domain.com/test/ domain.com/test-#####/ < the random string

merci!

1
Mike

Filtre wp_unique_post_slug. Assurez-vous d'ajouter le rappel avec 6 comme dernier argument pour obtenir le slug d'origine. Ensuite, créez un nouveau slug unique selon vos besoins, vous obtiendrez de nombreuses informations de contexte.

add_filter(
    'wp_unique_post_slug',
    function (
        $slug,
        $post_ID,
        $post_status,
        $post_type,
        $post_parent,
        $original_slug
    )
{
    // create a new unique slug based on $original_slug
    return $slug;
}, 10, 6 );
2
fuxia