web-dev-qa-db-fra.com

Copier le métadonnées SEO "Champ personnalisé" dans le champ Extrait?

J'aimerais vraiment prendre tous mes anciens messages et utiliser automatiquement les méta-descriptions que nous avons écrites - actuellement effectuées pour chaque message en utilisant All In One SEO Pack - et les copier pour en faire également des extraits.

Le champ personnalisé utilisé par la description AIO SEO est _aioseop_description.

Quelqu'un aurait-il une idée de comment accomplir cela?

1
Drewdavid

Veuillez , sauvegarder votre base de données avant d'exécuter ceci .

Le code est assez simple et testé dans un WordPress local.
Le conseil est juste pour des raisons de précaution, car je suppose que vous avez affaire à un site en direct.

Copiez le code dans un fichier PHP, chargez-le dans le dossier plugins et activez-le.

  1. Lors de l'activation, il parcourra tous les types de publications posts et vérifiera s'il contient un extrait.
  2. Sinon, vérifiez s'il existe une description Tout en Un.
  3. Si c'est le cas, remplissez l'extrait avec cette information.
<?php
/*
    Plugin Name: AIOSEOP to Excerpt
    Plugin URI: http://wordpress.stackexchange.com/q/70990/12615
*/
register_activation_hook( __FILE__, 'wpse_70990_activation_run' );

function wpse_70990_activation_run()
{   
    $args = array( 
        'post_type'   => 'post'
    ,   'numberposts' => -1
    ,   'post_status' => published 
    );
    $posts = get_posts( $args );
    foreach ( $posts as $post )
    {
        if( '' == $post->post_excerpt )
        {
            $aioseop = get_post_meta( $post->ID, '_aioseop_description' ,true);
            if( '' != $aioseop )
            {
                $po = array();
                $po = get_post( $post->ID, 'ARRAY_A' );
                $po['post_excerpt'] = $aioseop;
                wp_update_post($po);
            }
        }
    }   
}

Documentation: register_activation_hook , get_posts , get_post , wp_update_post .

2
brasofilo

Je ne pouvais pas trouver la réponse à cette question. J'ai donc développé un plugin qui ajoutera la description du Pack SEO All in One et le sauvegardera en tant que description de tous les articles de votre blog WordPress.

Vous pouvez le télécharger à partir de ici . Assurez-vous de sauvegarder d'abord votre base de données.

0
Dan Pearce