2017-01-29 4 views
0

Я хочу изменить оформление, получение и другие страницы в Простые цифровые загрузки плагин.
Как их documentation я скопировал файл в моей текущей темы папке/edd_templates/
На самом деле, у меня есть 2 различные категории (мастерская, программное обеспечение), и я ищу способ показать различные таблицы для страница для проверки для каждого из этих категорий.
Итак, я попытался использовать это:Wordpress - Пользовательский фильтр таксономии в теме?

<?php 
$args = array(
    'post_per_page' => '-1', 
    'post_type' => 'download', 
    'tax_query' => array(
     array(
      'taxonomy' => 'download_category', 
      'field' => 'slug', 
      'terms' => 'workshop' 
     ) 
) 
); 
$my_posts = get_posts($args); 
if ($my_posts) : 
?> 
// custom html table for first category goes here... // 
<?php endif; ?> 
<?php 
$args1 = array(
'post_per_page' => '-1', 
'post_type' => 'download', 
'tax_query' => array(
    array(
     'taxonomy' => 'download_category', 
     'field' => 'slug', 
     'terms' => 'software' 
    ) 
) 
); 
$myy_posts = get_posts($args1); 
if ($myy_posts) : 
?> 
// custom html table for second category goes here... // 
<?php endif; ?> 

Но это показывает обе таблицы в кассе страницы, независимо от того, в какой категории вы ...
Я думаю, что проблема в том, что я сказал WordPress показать эти html-таблицы, только если в этих категориях есть что-то. Не фильтровать их ...
Как я могу это исправить?

ответ

0

Вы можете решить эту много способов, один из я покажу вам ниже, Сначала нужно создать шаблон страницы для страницы желание, как Checkout

<?php 
/** 
* Template Name: Checkout 
* 
*/ 

затем вправо Ваш код в пользовательский файл шаблона. next go admin dashboard затем выберите свой собственный шаблон Checkout.

enter image description here

, что страница будет показывать выход желание.

0

Вы правы в своем последнем абзаце, вы не ставили никаких фильтров. Сначала вам нужно получить категории продуктов в корзине.

<?php $cart_items = edd_get_cart_contents(); //get the contents in the cart 
foreach ($cart_items as $key => $item): ?> 

<?php 
$terms = wp_get_post_terms($item->ID, 'download_category'); //get the categories of the items in the cart 
foreach ($terms as $term) $categories[] = $term->slug; //form an array with those categories 

Затем вам нужно проверить, если эта категория массив имеет свои условия

if (in_array('workshop', $categories)) { 
// custom html table for first category goes here... // 
}elseif (in_array('software', $categories)){ 
// custom html table for second category goes here... // 
else { 
// custom html table for regular downloads goes here... // 
}