Портфолио wordpress

S6
На сайте с 19.06.2013
Offline
56
260

Всем привет, есть плагин Portfolio Toolkit. Выводит все записи, которые в нём на главную, следующим кодом.

<?php 

// Content before the portfolio grid.
if ( get_theme_mod( 'maker_display_portfolio_text', 1 ) ) {
while ( have_posts() ) : the_post();
get_template_part( 'template-parts/content', 'page' );
endwhile;
}

// Portfolio grid. Check if we have pagination first.
if ( get_query_var( 'paged' ) ) :
$paged = get_query_var( 'paged' );
elseif ( get_query_var( 'page' ) ) :
$paged = get_query_var( 'page' );
else :
$paged = 1;
endif;

// Default posts per page option.
$posts_per_page = get_option( 'posts_per_page', 20);

// Check if Portfolio Toolkit is activated.
if ( post_type_exists( 'portfolio' ) ) :

$args = array(
'post_type' => 'portfolio',
'paged' => $paged,
'posts_per_page' => $posts_per_page,
);

$portfolio_query = new WP_Query( $args );

// Pagination fix.
$temp_query = $wp_query;
$wp_query = null;
$wp_query = $portfolio_query;

if ( $portfolio_query -> have_posts() ) :

printf(
'<div class="portfolio-grid %s">',
sanitize_html_class( maker_portfolio_grid_class() )
);

while ( $portfolio_query -> have_posts() ) : $portfolio_query -> the_post();

get_template_part( 'template-parts/content', 'portfolio-toolkit' );

endwhile;

echo '</div>';

wp_reset_postdata();

maker_posts_pagination();

endif;

// Restore original query.
$wp_query = null;
$wp_query = $temp_query;

endif;
?>

Нужно чтобы выводилось последние 4 записи, при включенной галке (Показывать на главной). Галку сделаю при помощи ACF. Как ограничить вывод кол-во записей. Заранее спасибо за помощь

IL
На сайте с 20.04.2007
Offline
435
#1
sd68rus:
Нужно чтобы выводилось последние 4 записи
// Default posts per page option.  
'posts_per_page' => $posts_per_page,

Указать нужное количество )

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
S6
На сайте с 19.06.2013
Offline
56
#2
ivan-lev:
Указать нужное количество )

Спасибо помогло, осталось добавить проверку галки

Gerga
На сайте с 02.08.2015
Offline
94
#3

sd68rus, с помощью get_post_meta или get_field можно получить значение произвольного поля.

Вместо:


if ( post_type_exists( 'portfolio' ) ) :

Примерно так должно получиться:

if ( post_type_exists( 'portfolio' ) && get_field( 'show_portfolio' ) ) : 

Если планируете и в других местах использовать 'show_portfolio', это лучше абстрагировать функцией.

---------- Добавлено 06.08.2019 в 10:10 ----------

Вместо 'show_portfolio' - ваш ключ поля из ACF.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий