web-dev-qa-db-fra.com

Analyse des mots clés Advanced Customs et Yoast SEO

Le problème que je rencontre est l'outil d'analyse de page de mot-cléne lit pas mes champs personnalisés. J'essaie donc de trouver un moyen de leur appliquer un filtre.

J'ai trouvé un article de blog sur le site Web Yoast ici ici qui fait référence à ce problème et qui répertorie le filtre wpseo_pre_analysis_post_content, mais je ne suis pas sûr de la manière de l'exécuter sur les champs.

J'ai trouvé une action permettant d'exécuter une fonction sur l'écran de modification de l'administrateur sur le site Web de ACF: acf/input/admin_head , mais je ne sais pas comment exécuter le filtre sur les actions chargées.

MODIFIER:

J'ai découvert que le plugin acf a ce filtre intégré mais ne semble pas fonctionner.

        // set value
        if( !isset($field['value']) )
        {
            $field['value'] = apply_filters('acf/load_value', false, $post_id, $field);
            $field['value'] = apply_filters('acf/format_value', $field['value'], $post_id, $field);

            apply_filters( 'wpseo_pre_analysis_post_content', $field['value'] );
        }
6
hyperdrive

En regardant le filtre:

$post_content = apply_filters( 'wpseo_pre_analysis_post_content', $post->post_content, $post );

il s'agirait d'ajouter le contenu de vos champs à la chaîne en cours d'analyse.

Vous devez faire la partie get_field() correctement, ceci n’a pas été testé:

add_filter( 'wpseo_pre_analysis_post_content', 'filter_yoasts_wpse_119879', 10, 2 );

function filter_yoasts_wpse_119879( $content, $post )
{
    $fields = get_field( 'name', $post->ID );
    return $content . $fields;
}

Comme l'a noté kaiser dans les commentaires, la fonction get_field() n'est pas fiable. S'il s'agit d'un champ relativement simple, il vaut mieux s'en tenir à get_post_meta .

Connexes: Où placer les extraits de code trouvés ici ou ailleurs sur le Web?

5
brasofilo

Ho, @hyperdrive - nous avons lutté avec le même scénario et le même besoin et avons intégré notre solution/approche dans un plugin:

http://wordpress.org/plugins/ns-seo-custom-fields/

Vous pouvez utiliser le (s) nom (s) de champ personnalisé standard à partir de l'interface d'édition ou la valeur "Nom du champ" d'ACF. Une capture d'écran montre également où trouver ces valeurs exactes:

http://wordpress.org/plugins/ns-seo-custom-fields/screenshots/

Nous venons de le publier et cela fonctionne pour nous, alors laissez-nous savoir s'il vous convient également. Vous pouvez probablement récupérer ce dont vous avez besoin dans le plugin lui-même, ou le modifier pour l'adapter à vos besoins précis ... ou consulter la version professionnelle qui en fait encore plus, y compris un support de terrain illimité.

2
Andrew