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?
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.
posts
et vérifiera s'il contient un extrait.<?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
.
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.