私は本当に私の古い投稿のすべてを取り、そして自動的に私たちが書いたメタディスクリプション(現在All In One SEO Packを使って各投稿に対して行われます)を使い、それらを私たちの投稿の抜粋にもなるようにコピーします。
AIO SEOの説明で使用されるカスタムフィールドは_aioseop_description
です。
これを達成する方法について誰かが何か考えがありますか?
これを実行する前に、データベースをバックアップしてください。
コードはかなり単純明快で、ローカルのWordPressでテストされています。
あなたがライブサイトを扱っていると思うので、アドバイスは念のためのものです。
コードをPHPファイルにコピーし、それをpluginsフォルダにアップロードしてアクティブにします。
posts
を反復処理し、抜粋があるかどうかを確認します。<?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);
}
}
}
}
ドキュメント: register_activation_hook
、 get_posts
、 get_post
、 wp_update_post
。
私はこの答えを見つけることができませんでした、それで私はオールインワンSEOパックからの説明を加えて、あなたのWordPressブログのすべての記事のための説明としてそれを保存するプラグインを開発しました。
こちらからダウンロードできます こちら 。必ず最初にデータベースをバックアップしてください。