2016-11-30 5 views
-1

Я хотел бы показывать сообщения в других сообщениях и страницах WordPress без использования плагина. Я искал этот сайт (и другие), но не нашел окончательного ответа на то, что я ищу.Wordpress Posts Shortcode

Я хотел бы, чтобы отобразить короткий код в постах и ​​страницах в этой моде:

[insert_post id="99"] , где 99 это идентификатор поста (или страниц, если это возможно).

Я хотел бы, чтобы тянуть в следующем: названии, содержания (первые 30 слов), читать далее кнопку, признаков изображения (большой палец).

Любые советы будут оценены.

+0

вы можете обеспечить усилие пыталось получить результаты? – inaliahgle

ответ

1

Сначала необходимо создать shortcode. Этот код находится в вашем functions.php. Вот простой пример, чтобы достичь того, чего вы пытаетесь достичь:

function insert_post_shortcode_function($atts) { 
    $attributes = shortcode_atts(array(
     'id' => '' // attribute_name => default_value 
    ), $atts); 

    $return = ''; 

    $post = get_post($attributes['id']); 

    $return .= get_the_post_thumbnail($post->ID); 

    $return .= $post->post_title; 

    $return .= $post->post_content; 

    $return .= '<a href="'.get_the_permalink($post->ID).'">Read more</a>'; 

    return $return; 
} 
add_shortcode('insert_post', 'insert_post_shortcode_function'); 

Теперь вы можете использовать [insert_post id="x"] в содержании вашего поста в.

Больше на создание коротких номеров - https://codex.wordpress.org/Shortcode_API

+0

Хороший ответ, но вместо того, чтобы напрямую обращаться к post_content, я думаю, что применил бы фильтры контента к нему, см. [The_content] (https://developer.wordpress.org/reference/functions/the_content/) – andrew