Вернуться   Форум об интернет-маркетинге > >
Ответ
 
Опции темы
Старый 24.01.2020, 10:16   #1
Дипломник
 
Аватар для webledi
 
Регистрация: 26.07.2011
Сообщений: 95
Репутация: 5039

Question Функция вывода шаблона темы через shortcode в Wordpress

Хотелось бы с помощью шорткода добавить на страницу вывод шаблона content-latestpost.php темы из папки /тема/template-parts.

Функция регистрации шорткода добавляется в functions.php

PHP код:
function text_short() {
return 
'Любой нужный текст. который нужно выводить внутри текста Вашей записи.';
}
add_shortcode('ts''text_short'); 
Получаем шорткод [ts].

Подскажите, пожалуйста, код функции шорткода, которая вызовет шаблон template-parts/content-latestpost.php
webledi вне форума   Ответить с цитированием

Реклама
Старый 24.01.2020, 13:39   #2
ivan-lev
Академик
 
Регистрация: 20.04.2007
Сообщений: 4,416
Репутация: 931922

По умолчанию Re: Функция вывода шаблона темы через shortcode в Wordpress

Цитата:
Сообщение от webledi Посмотреть сообщение
код функции шорткода, которая вызовет шаблон template-parts/content-latestpost.php
смотрите в сторону https://wp-kama.ru/function/get_template_part
__________________
... :)
ivan-lev вне форума   Ответить с цитированием
Сказали спасибо:
Старый 24.01.2020, 23:19   #3
webledi
Дипломник
 
Аватар для webledi
 
Регистрация: 26.07.2011
Сообщений: 95
Репутация: 5039

ТопикСтартер Re: Функция вывода шаблона темы через shortcode в Wordpress

ivan-lev, спасибо!
Еще столкнулась с одной проблемой. Такой код отвечает за вывод виджета последних записей:

PHP код:
<?php query_posts('cat=1'); // вместо "3" указываем идентификатор вашей рубрики.
        
while ( have_posts() ) :
            
the_post();

            
get_template_part'template-parts/content-statyi-main'get_post_type() );
        endwhile; 
// End of the loop.
        
        
wp_pagenavi();
        
?>
С помощью этого шорткода виджет добавлен на главную страницу:
Код:
[su_posts template="statyi-for-main.php"]
Отображается блок с последними записями корректно, но почему-то внизу страницы этот блок с записаями дублируется еще раз. Подскажите, пожалуйста, как попросить код не дублировать этот блок повторно.
webledi вне форума   Ответить с цитированием
Старый 24.01.2020, 23:47   #4
Sitealert
Слесарь-сайтосборщик
 
Регистрация: 30.09.2016
Адрес: Замкадье
Сообщений: 5,918
Репутация: 428128

По умолчанию Re: Функция вывода шаблона темы через shortcode в Wordpress

Цитата:
Сообщение от webledi Посмотреть сообщение
как попросить код не дублировать этот блок повторно.
Он уже отвечал на этот вопрос.
__________________
Отпилю лишнее, прикручу нужное, выправлю кривое.
Вытравлю вредителей.
Sitealert вне форума   Ответить с цитированием
Старый 25.01.2020, 11:02   #5
webledi
Дипломник
 
Аватар для webledi
 
Регистрация: 26.07.2011
Сообщений: 95
Репутация: 5039

ТопикСтартер Re: Функция вывода шаблона темы через shortcode в Wordpress

Цитата:
Сообщение от Sitealert Посмотреть сообщение
Он уже отвечал на этот вопрос.
Если поменять местами
Код:
get_template_part( 'template-parts/content-statyi-main', get_post_type() );
и
Код:
endwhile;
, в нужном блоке показывается только одна запись (вместо нужных трех), а внизу блок также дублируется с тремя записями

---------- Добавлено 25.01.2020 в 11:13 ----------

Удалось справиться с помощью wp_query

PHP код:
<?php $query = new WP_Query(array(
        
'posts_per_page' => 3,
        
'cat' => 1));
        if(
$query->have_posts()):while($query->have_posts()):$query->the_post();
        
        
get_template_part'template-parts/content-statyi-main'get_post_type() );
        
//post
        
endwhile;
        else:
        
//net postov
        
endif;
        
?>
webledi вне форума   Ответить с цитированием
Ответ



Опции темы

Быстрый переход


Регистрация Справка Календарь Поддержка Все разделы прочитаны