[Résolu] Où est l’erreur? Fonction d’attribution automatique de terme (taxonomie) (Créer un compte)

  • WordPress :4.6.1
  • Statut : résolu
  • Ce sujet contient 3 réponses, 2 participants et a été mis à jour pour la dernière fois par Mooks, le il y a 8 années.
4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Messages
  • #1572950
    Mooks
    Participant
    Padawan WordPress
    87 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL : 7.0.7
    • Thème utilisé : Custom
    • Extensions en place : Plusieurs
    • Nom de l’hébergeur : Infomaniak
    • Adresse du site : https://www.les-alternatives.com

    Bonsoir,

    Bref recap’ sur le fonctionnement de mon projet :

    Dans mon projet, chaque nouveau sujet publié se compose toujours de 3 à 4 posts :

    • La fiche produit
    • Les 2 ou 3 pages correspondant à mon sous menu pour l’article

    => Exemple : En créant une fiche produit pour « Adobe Photoshop », je créé directement 2 autres articles « News – Photoshop » et « Forum – Photoshop », qui seront lié entre eux par un sous menu (présent bien évidemment dans tous les posts).

    Le problème qui se pose :

    Des pages connexes comme celles-ci vont me faire perdre un temps fous avec encore et toujours les mêmes actions répétitives si je n’automatise pas le processus un minimum (recocher les taxonomies par exemple).

    La solution que j’ai envisagée :

    Elle semble toute simple, mais quelque chose cloche, et je ne sais pas trop quoi. L’idée est d’assigner automatiquement le terme « fiche », « news » ou « forum » de ma taxonomie « custom-type » en fonction du premier mot de mon titre, et tout cela à la sauvegarde d’un post.

    Voici le code :

    function auto_assign_custom_type_terms( $post_id ) {

    $first_word = current(explode(' ', get_the_title()));

    if( $first_word == 'news' ) {
    wp_set_post_terms( $post_id, 'news', 'custom-type', true );

    } elseif ( $first_word == 'forum' ) {
    wp_set_post_terms( $post_id, 'forum', 'custom-type', true );

    } else {
    wp_set_post_terms( $post_id, 'fiche', 'custom-type', true );

    }

    }

    add_action( 'save_post', 'auto_assign_custom_type_terms' );

    Le problème est que ca ne fonctionne pas. Est-ce que quelqu’un saurais me dire où se trouve l’erreur?

    Merci d’avance!

    #1572958
    Mooks
    Participant
    Padawan WordPress
    87 contributions

    Problème finalement résolu assez vite : étant donné que le post en question était un custom post type, il fallait remplacer wp_set_post_terms par wp_set_object_terms.

    #1573018
    Benzouye
    Participant
    Maître WordPress
    577 contributions

    Sujet résolu ? Bouton en haut à gauche du sujet 😉

    #1573023
    Mooks
    Participant
    Padawan WordPress
    87 contributions

    Yep merci, je viens de voir 😉

4 sujets de 1 à 4 (sur un total de 4)
  • Vous devez être connecté pour répondre à ce sujet.