Je veux qu'un code vérifie quand post Créer si le titre postal est en double (déjà existe) Ajouter une carte d'identité sur le titre. J'ai un morceau de code pour ajouter un identifiant de poste au titre et cela fonctionne bien dans PHP 5.6 ci-dessus
add_filter('title_save_pre','auto_generate_post_title'); function auto_generate_post_title($title) { global $post; if (isset($post->ID)) { if (empty($_POST['post_title']) && 'post' == get_post_type($post->ID)){ // get the current post ID number $id = get_the_ID(); // add ID number with order strong $title = $title .' - ' .$id;} } return $title; }
3 Réponses :
Vous pouvez récupérer tous les messages avec le titre en utilisant ceci:
$numberOfPostsWithThisTitle = count(get_posts([ "post_type" => "post", "s" => $title] );
Définir une variable avec le nom du titre, dans ce cas, je m'exprime sur le texte suivant qui est le titre que je souhaite vérifier: puis dans une requête pour tout votre message que vous faites. p>
Ceci vérifiera les messages existants et n'ajoutez que l'ID de poste à la fin si le titre est publié.
merci @howars e mais ce code ajoute la post ID dans chaque titre, quelle que soit la recherche d'un titre existant
Ça ne devrait pas ... je l'ai testé.
Malheureusement, il ajoute une identification postale dans chaque nouveau poste que je publie comme vous pouvez le voir sur la photo. J'utilise WordPress 5.3.2 imgur.com/51InRXF
C'est ce que je vois lors du test avec la réponse mise à jour. imgur.com/tks1777g WordPress 5.3.2 PHP 7.3
Salut. Pouvez-vous être un peu plus spécifique avec votre question? C'est un peu déroutant avec le libellé. Pouvez-vous donner un exemple de ce qui devrait arriver, avec de vrais titres pour illustrer ce que vous attendez des résultats?
@HOWARDE Disons que j'ai un message avec ce titre "Le meilleur sandwich" et quand je souhaite créer un nouveau message avec le titre exact "Le meilleur sandwich" et post ID est 216, le nouveau titre doit être: "Le meilleur Sandwich - 216 "