我有一個自定義帖子類型「組合」和不同的WP_Query爲不同的自定義帖子頁面和目的。不同的posts_per_page不同的WP_Query中的自定義帖子類型的數量
對於投資組合頁面我想選擇投資組合類型的12個posts_per_page。
對於主頁我想選擇投資組合類型的8 posts_per_page。
對於塊單個工作頁面上的類似工作我想選擇投資組合類型的4個posts_per_page。
目前在所有wp_query中我都有一個var $ posts_per_page這個數字。但它不起作用,因爲我在functions.php中添加了一個函數,用於定義每頁默認的自定義投資組合帖子值。現在是8,所以現在我在所有查詢中每頁有8篇文章。我添加這個功能的原因是讓分頁工作。該函數:
function portfolio_posts_per_page($query) {
if ($query->query_vars['post_type'] == 'portfolio') $query->query_vars['posts_per_page'] = 8;
return $query;
}
if (!is_admin()) add_filter('pre_get_posts', 'portfolio_posts_per_page');
我應該刪除這個功能,改變每頁變種博客文章中的WordPress的管理控制檯,以1?就像之前一樣。還是有另一個解決這個問題的方法?
UPDATE
我試圖改變功能到這一點,但隨後的WordPress並不在所有的工作:
function portfolio_posts_per_page($query) {
if ($query->query_vars['post_type'] == 'portfolio') {
if (is_post_type_archive('portfolio')
$query->query_vars['posts_per_page'] = 12;
}
elseif (is_front_page()) {
$query->query_vars['posts_per_page'] = 8;
}
elseif (is_singular('portfolio')) {
$query->query_vars['posts_per_page'] = 4;
}
else {
$query->query_vars['posts_per_page'] = 4;
}
}
return $query;
}
你正在使用什麼模板頁面? –
首先是靜態前頁面模板(自定義模板文件 - custom-main.php),第二是archive-portfolio.php - 自定義文章類型歸檔,第三是single-portfolio.php - 用於自定義文章類型組合的單頁面模板。 – Ksenia
看來你對每個自定義帖子類型都有單獨的模板,對吧? –