web-dev-qa-db-fra.com

Copier un terme of taxonomy in title of the publication for a certain certain of publication type

J'utilise Gravity Forms pour permettre aux utilisateurs de créer des publications à partir du système frontal.

Cependant, comme ce site que je construis va fonctionner, un Post_Type spécifique est essentiellement un post "Data". Il existe une taxonomie spécifique dont les termes sont en réalité le "titre" de l'ensemble de données.

J'ai déjà trouvé un moyen de masquer le champ "Titre" dans les formulaires Gravity mais je l'ai toujours présent sur le formulaire (pour une raison quelconque, ils verrouillent les "Post_Type" et "Post Status" dans le champ "Titre" de l'interface graphique, j'ai donc surchargé sa logique conditionnelle pour le forcer à toujours se cacher).

Je veux créer un filtre qui copierait toujours la valeur [Term] pour une [Taxonomie] spécifique dans le champ [Titre] d'un [Post_Type] spécifique.

Tout conseil que je pourrais obtenir sur la façon d'accomplir cela serait génial! Merci d'avance!

=============================================== ============

OK, en utilisant le code de @Manny Fleurmond ci-dessous, et de ce message: Title_save_pre - Problème simple que vous connaissez à coup sûr

Je suis venu avec

function taxonomy_title_rename($title) {
    global $post;
    $type = get_post_type($post->ID);
    if ($type== 'CUSTOM_POST_TYPE') {
            if($post->post_type === 'CUSTOM_POST_TYPE') {
        $terms = wp_get_object_terms($post->ID, 'MY_TAXONOMY');
        if(!is_wp_error($terms) && !empty($terms)) {
            $title = $terms[0]->name;
        }
        }
    return $title;
}
     else if ($type != 'CUSTOM_POST_TYPE') {
       return $title;
    }
    }
    add_filter ('title_save_pre','taxonomy_title_rename');

En fait, cela sauve le titre de l'article de la taxonomie. Cependant, cela ne le tire pas ensuite aussi dans le permalien, mon permalien n’est que le numéro d’identification du post. Voyons si je peux résoudre ce problème moi-même, mais toute aide serait la bienvenue!

3
Sam K

Eh bien, étant donné que j'ai essentiellement trouvé ma propre réponse en utilisant ce qui a été posté (ce qui n'a pas vraiment fonctionné) et quelques recherches supplémentaires, je vais fermer la question, même si j'ai en quelque sorte ajouté une question supplémentaire;

OK, en utilisant le code de @Manny Fleurmond ci-dessous, et de ce message: Title_save_pre - Problème simple que vous connaissez avec certitude

Je suis venu avec

function taxonomy_title_rename($title) {
    global $post;
    $type = get_post_type($post->ID);
    if ($type== 'CUSTOM_POST_TYPE') {
            if($post->post_type === 'CUSTOM_POST_TYPE') {
        $terms = wp_get_object_terms($post->ID, 'MY_TAXONOMY');
        if(!is_wp_error($terms) && !empty($terms)) {
            $title = $terms[0]->name;
        }
        }
    return $title;
}
     else if ($type != 'CUSTOM_POST_TYPE') {
       return $title;
    }
    }
    add_filter ('title_save_pre','taxonomy_title_rename');

En fait, cela sauve le titre de l'article de la taxonomie.

1
Sam K

J'ai reconstitué une solution. Faites-moi savoir si c'est ce dont vous avez besoin:

add_filter('the_title','term_filter',10,2);
function term_filter($title, $post) {
    $post = get_post($post) ;
    if($post->post_type === 'special_post_type') {
        $terms = wp_get_object_terms($post->ID, 'taxonomy');
        if(!is_wp_error($terms) && !empty($terms)) {
            $title = $terms[0]->name;
        }
    }
    return $title;
}

Fondamentalement, j'utilise un filtre pour le titre qui vérifie le type de message dont le titre provient. S'il s'agit du type correct, le titre est remplacé par le premier terme de votre taxonomie connecté à ce message.

Posez-moi des questions si quelque chose n'est pas clair!

1
Manny Fleurmond