Автоматически добавлять настраиваемое поле (добавлять мету публикации) со значением, основанным на количестве слов статьи


В этой теме наш друг @toscho создал функцию, которая устанавливает размер шрифта в соответствии с количеством слов в сообщении. Основываясь на этой функции, я хочу создать пользовательское поле, значение которого будет устанавливаться в зависимости от количества слов в сообщении. Например, если сообщение содержит до 200 слов, автоматически создайте пользовательское поле (add_post_meta) со значением =1; Если ваше сообщение содержит более 200 слов, создайте пользовательское поле со значением =2.

Любой идея приветствуется. Спасибо.

Author: Community, 2012-11-22

1 answers

Подключитесь к save_post, посчитайте слова и обновите мета-поле сообщения.

Пример кода, не проверенный:

add_action( 'save_post', 'wpse_73563_save_word_count', 10, 2 );

function wpse_73563_save_word_count( $post_ID, $post )
{
    if ( ! current_user_can( 'edit_' . $_POST['post_type'], $post_ID ) )
    {
        return FALSE;
    }

    $count = t5_word_count( $post->post_content );

    update_post_meta( $post_ID, '_word_count', ( 200 > $count ? 2 : 1 ) );
}
 3
Author: fuxia, 2012-11-22 10:20:48