2014-09-11 6 views
0

У меня есть сообщение WordPress с настраиваемым полем (область текста).Внедрение настраиваемого поля из одного сообщения в другое

Есть ли способ получить данные из этого настраиваемого поля для отображения в другом новом сообщении в одном блоге с помощью кода или какого-либо короткого кода?

Пример: Сообщение A имеет пользовательское поле, содержащее галерею из 3 изображений. Я хочу, чтобы эта галерея изображений была внедрена в другую новую статью B.

ответ

1

Вот простая реализация.

Добавить в functions.php:

// add hook for new shortcode 
add_shortcode('custom_field', 'shortcode_field'); 

function shortcode_field($atts) { 
    // get attributes that were passed in the shortcode 
    extract(shortcode_atts(array(
     'post_id' => null, 
    ), $atts)); 

    // if we don't at least have a field name, then exit 
    if (! isset($atts[0])) { 
     return; 
    } 

    // field is the first attribute 
    $field = esc_attr($atts[0]); 

    // get the current post 
    global $post; 

    // if no post id was passed as a parameter to the shortcode, use the current post 
    $post_id = (null === $post_id) ? $post->ID : $post_id; 

    // do the custom field lookup for the appropriate post and retur the text 
    return get_post_meta($post_id, $field, true); 
} 

Вы бы использовать шорткод в WordPress редактора в одном из следующих двух способов:

[custom_field "field_name"] - looks up field_name for the current post 
[custom_field "field_name" post_id=999] - looks up field_name for post with id 999 

Вы можете получить фантазии и использовать ту же концепцию, с некоторыми плагинами генератора коротких кодов GUI, такими как Shortcodes Pro, что даст вам хорошую кнопку короткого кода в вашем редакторе wordpress.

+0

Великолепный сэр! Спасибо, тонна! – user3886632

Смежные вопросы