2016-10-16 5 views
1

아래에는 지금까지 사용자 정의 분류 템플릿이 있으며 그 작업은 정상적으로 작동합니다. 당신이 볼 경우사용자 정의 분류로 사용자 정의 분류를 나열하십시오.

<?php 
/* 
Template Name: Performer List Page 
*/ 
get_header(); ?> 
<?php 
// if show all is set 
$sortby=$_GET['sortby'];  
if(isset($_GET['showall']) || isset($sortby)): 
$args = array('hide_empty' => 0); 
else: 
// else show paged 
$page = (get_query_var('paged')) ? get_query_var('paged') : 1; 
global $framework_opt,$post; $number_of_performers = $framework_opt['performers_per_page']; 
$orderby = 'date'; 
$order = isset($_REQUEST['order']) ? trim($_REQUEST['order']) : null; 
if(isset($_GET['order']) && !empty($_GET['order'])) { 
    switch($order) 
{ 
case 'alphabetically' : $orderby = 'title'; 
break; 
case 'popularity' : $orderby = 'count'; 
break;  
/* 

case 'female' : $meta = 'gazi_female'; 
break;  
case 'male' : $meta = 'gazi_male'; 
break;   

*/ 
default : $orderby = 'date'; 
break; 
} 
} 
// number of tags to show per-page 
$per_page = $number_of_performers ; 
$offset = ($page-1) * $per_page; 
$args = array('orderby' => $orderby, 'number' => $per_page, 'meta_key' => $meta, 'offset' => $offset, 'hide_empty' => 0); 
endif; 
$taxonomy = 'performer'; 
$count_performers = wp_count_terms($taxonomy, $offset); 
$tax_terms = get_terms($taxonomy, $args); 
?> 
<aside class="sidebar pull-left"> 
<p class="sidebar-title"><?php _e('SEARCH BY LETTER', 'gazi'); ?></p> 
<div class="letter-search clearfix"> 
<span class="letter"><a href="<?php the_permalink() ?>?sortby=A">A</a></span> 
<span class="letter"><a href="<?php the_permalink() ?>?sortby=B">B</a></span> 
<span class="letter"><a href="<?php the_permalink() ?>?sortby=C">C</a></span> 
<span class="letter" style="width:40%"><a href="<?php the_permalink() ?>?showall=true"><?php _e('All', 'gazi'); ?></a></span> 
<span class="letter" style="width:40%"><a href="<?php the_permalink() ?>"><?php _e('Reset', 'gazi'); ?></a></span> 
</div> 

<!--<p class="sidebar-title"><?php _e('QUICK SEARCH', 'gazi'); ?></p> 
<form class="frm-search-tag has-title" action="<?php echo home_url('/'); ?>" method="get"> 
<input type="text" placeholder="Search name" name="s" value="" /> 
<button type="submit"><span class="ico ico-search"></span> 
<select class="search_tools" style="display:none;" name="taxonomy" > 
    <option value="performer">Videos</option> 
    <option value="gallery">Photos</option>     
</select> 
</button> 
</form>--> 

<div style="height: 5px;"></div> 
<?php get_template_part('templates/sidebars/performer-sidebar', get_post_format()); ?> 
</aside> 
<section class="main-section pull-left"> 
<div class="page-title with-sorter clearfix"> 
<h1><?php the_title(); ?></h1> 

<div class="info hidden-mobile"> 
    <p> 
    <?php echo $count_performers; ?><?php _e('Performers', 'gazi'); ?> <span class="ico ico-tv"></span> 
    </p> 

    <div class="sorter"> 
     <div class="dropdown-container"> 
      <ul class="flyout-menu flyout-menu-right"> 
       <li> 
<button class="dropdown-toggle" type="button" data-action="dropdown-toggle" data-target="#sorter-dropdown">SORT</button> 
<div class="flyout-menu-content" id="sorter-dropdown"> 
<ul class="flyout-menu-items"> 
<li> 
<a href="<?php the_permalink() ?>?order=alphabetically"><?php _e('Alphabetically', 'gazi'); ?></a> </li> 
<li> 
<a href="<?php the_permalink() ?>?order=popularity"><?php _e('Popularity', 'gazi'); ?></a> </li> 
</ul> 
</div> 
</li> 
</ul> 
</div></div> </div> 
<div class="info visible-mobile clearfix"> 
<button class="btn-pd btn-pd-primary pull-left" style="margin-right: 0;" data-action="scroll-to" data-target="#letter-search">A-Z</button> 
<p style="float:right"> 
<?php echo $wp_query->found_posts; ?> <?php _e('Performers', 'gazi'); ?> <span class="ico ico-tv"></span></p> 
</div></div> 
<div id="performer-list" class="list-view"> 
<div id="performer-thumbs" class="performer-listing clearfix"> 
<div class="items"> 
<?php foreach ($tax_terms as $cat) : ?> 
<?php 
$flag = 0; 
if($sortby == substr($cat->name, 0, 1) || $sortby=='') { $flag = 1;} 
if ($flag=='1'){ 
?> 
<article class="performer-item"> 
<a class="outline" href="<?php echo get_term_link($cat->slug, 'performer'); ?>" title="<?php echo $cat->name; ?>"> 

<?php $performer_image = z_taxonomy_image_url($cat->term_id); if(!empty($performer_image)) : ?> 

<img src="<?php bloginfo('template_directory'); ?>/gazi/css/images/1pixel.gif" data-src="<?php echo z_taxonomy_image_url($cat->term_id,NULL, array(180, 240)); ?>" alt="<?php echo $cat->name; ?>" /> 
<noscript><img src="<?php echo z_taxonomy_image_url($cat->term_id,NULL, array(180, 240)); ?>" alt="<?php echo $cat->name; ?>" /></noscript> 
<?php else : ?> 

<img src="<?php bloginfo('template_directory'); ?>/gazi/css/images/1pixel.gif" data-src="<?php bloginfo('template_directory'); ?>/gazi/css/images/no-img-women.jpg" alt="<?php echo $cat->name; ?>" /> 
<noscript><img src="<?php bloginfo('template_directory'); ?>/gazi/css/images/no-img-women.jpg" alt="<?php echo $cat->name; ?>" /></noscript> 
<?php endif; ?> 

<span class="performer-name"><?php echo $cat->name; ?></span> 
<span class="performer-videos hidden-mobile"> 
<span class="count"><?php echo $cat->count; ?></span> 
<span class="txt"><?php _e('VIDEOS', 'gazi'); ?></span> 
</span> 
</a> 
<div class="performer-item-footer visible-mobile"> 
<span class="ico ico-take"></span> <?php echo $cat->count; ?> <?php _e('VIDEOS', 'gazi'); ?> </div> 
</article> 
<?php } ?> 
<?php endforeach; ?> 
</div> 
</div> 

<?php 
if(isset($_GET['showall']) || isset($sortby)): 
    echo ''; 


else: 
// showall is set, show link to get back to paged mode 
    $total_terms = wp_count_terms('performer'); 
    $pages = ceil($total_terms/$per_page); 

    // if there's more than one page 
    if($pages > 1): 
     echo '<div class="pager"><div class="paginator" id="performer_paginator">'; 

     for ($pagecount=1; $pagecount <= $pages; $pagecount++): 
      echo '<a class="page" href="'.get_permalink().'page/'.$pagecount.'/"><span>'.$pagecount.'</span></a>'; 
     endfor; 

     // link to show all 
     echo '<a class="page" href="'.get_permalink().'?showall=true">ALL</a>'; 
echo '</div>'; 
    endif; 


endif; 
?> 
</div> 
<div id="letter-search" class="visible-mobile"> 
<div class="section-title with-sorter clearfix" style="margin-bottom: 4px;"> 
<p class="title">Letters Search</p> 
<div class="info"> 
<button class="btn-pd btn-pd-sm btn-pd-primary pull-right" data-action="scroll-to" data-target="#performer-thumbs"><span class="ico ico-grid"></span></button> 
</div> 
</div> 
<div class="letter-search clearfix"> 
<span class="letter"><a href="<?php the_permalink() ?>?sortby=A">A</a></span> 
<span class="letter"><a href="<?php the_permalink() ?>?sortby=B">B</a></span> 
<span class="letter"><a href="<?php the_permalink() ?>?sortby=C">C</a></span> 
</div> 
</div> 
<?php get_template_part('templates/advertisements_bottom', get_post_format()); ?> 
</section> 
<?php get_footer(); ?> 

내가 인기에 대한 주문 메뉴를 추가하고 비디오가 작동이 리스팅에 대한 계산하지만 주문 코드 아래에 당신이 표시됩니다

/* 

case 'female' : $meta = 'gazi_female'; 
break;  
case 'male' : $meta = 'gazi_male'; 
break;   

*/ 

그래서 난 남성에 의해 공연을 분리 할 및 여성 위의 사용자 정의 필드를 사용합니다.이 템플릿을 완성하는 방법을 알고있는 사람은 누구입니까? 감사합니다.

답변

2

메타 필드 'gazi_female'또는 'gazi_male'을 기반으로 결과를 표시하려면 meta_query 인수에 포함해야합니다.

'meta_key' => $meta 대신 meta_query를 사용하십시오. get_terms 기능의 Meta query은 4.4.0 버전에서 도입되었으므로 버전이 get_terms()를 지원하는지 확인하십시오.

order_by 매개 변수에는 order_by 매개 변수를 사용하면 필터 결과가 정렬되지 않으므로 order_by 매개 변수에 사용하면 안됩니다.

또는 4.6 버전

// WP_Term_Query arguments 
$args = array (
    'taxonomy'    => array('performer'), 
    'meta_key'    => 'male', 
    'meta_value'    => 'gazi_male', 
); 

// The Term Query 
$term_query = new WP_Term_Query($args); 

// The Loop 
if (! empty($term_query) && ! is_wp_error($term_query)) { 
    // do something 
} else { 
    // no terms found 
} 
+0

하이 락스에서 사용할 수 WP_Term_Query을 시도, 그래 정확히 내가 당신이 보는 나는 다른 AZ 페이지 매김하고 임 순서를 그래서 여성 또는 남성으로 분류 체계를 표시하고 싶은 것입니다 인기 등으로하지만 난 couldnt도 meta_key와 함께 표시하기 위해 알아낼, 내가 마지막으로 버전의 워드 프레스가 설치되어있다 – Gazi

+0

''meta_key '=> $ 메타', 바로 여기에 이유는 여기에 왜 127.0 작업을 묻는 이유입니다. 0.1 /? order = male 또는 female은 어떤 분류도없이 빈 페이지를 제공합니다. – Gazi

+0

안녕하세요 @ Gazi, 나는 get_terms 대신 WP_Term_Query를 사용하여 내 대답을 편집하고 업데이트했습니다. 그것을 시도하고 다른 인수로 수정하십시오. –

관련 문제