Скопировать SEO-мета-описание "Пользовательское поле" в поле выдержки?


Я бы очень хотел взять все мои старые посты и автоматически использовать мета–описания, которые мы написали – в настоящее время они сделаны для каждого поста с использованием всего в одном пакете SEO - и скопировать их, чтобы они также стали выдержками из наших постов.

Пользовательское поле, используемое описанием AIO SEO, является _aioseop_description.

У кого-нибудь есть идеи, как это сделать?

Author: brasofilo, 2012-10-30

2 answers

Пожалуйста, создайте резервную копию своей базы данных перед запуском этого.

Код довольно прост и протестирован в локальном WordPress.
Этот совет просто на всякий случай, так как я полагаю, что вы имеете дело с живым сайтом.

Скопируйте код в файл PHP, загрузите его в папку плагинов и активируйте.

  1. При активации он будет перебирать все типы сообщений posts и проверять, есть ли в них отрывок.
  2. Если нет, проверьте, есть ли описание "Все в одном".
  3. Если есть, заполните отрывок этой информацией.

<?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.

 2
Author: brasofilo, 2014-05-07 17:37:52

Я не смог найти ответ на этот вопрос, поэтому я разработал плагин, который добавит описание из пакета "Все в одном SEO" и сохранит его в качестве описания для всех сообщений в вашем блоге WordPress.

Вы можете скачать его с здесь. Обязательно сначала создайте резервную копию своей базы данных.

 0
Author: Dan Pearce, 2013-09-22 16:17:23