WordPress的 - 自定义字段的分类单导航订单
我在这里有一个问题。WordPress的 - 自定义字段的分类单导航订单
我喜欢展示在single.php中 2个导航按钮,设在一个分类(含税名:temporada)
现在我google一下。我发现了一个简单的代码来显示这个按钮,但,这是为了通过日期,我想订购,但自定义字段(自定义字段:numeroepisodio)
这是我的代码:
的functions.php
add_filter('get_next_post_join', 'navigate_in_same_taxonomy_join', 20);
add_filter('get_previous_post_join', 'navigate_in_same_taxonomy_join', 20);
function navigate_in_same_taxonomy_join() {
global $wpdb;
return " INNER JOIN $wpdb->term_relationships AS tr ON p.ID = tr.object_id INNER JOIN $wpdb->term_taxonomy tt ON tr. term_taxonomy_id = tt.term_taxonomy_id";
}
add_filter('get_next_post_where' , 'navigate_in_same_taxonomy_where');
add_filter('get_previous_post_where' , 'navigate_in_same_taxonomy_where');
function navigate_in_same_taxonomy_where($original) {
global $wpdb, $post;
$where = '';
$taxonomy = 'temporada';
$op = ('get_previous_post_where' == current_filter()) ? '<' : '>';
$where = $wpdb->prepare("AND tt.taxonomy = %s", $taxonomy);
if (! is_object_in_taxonomy($post->post_type, $taxonomy))
return $original ;
$term_array = wp_get_object_terms($post->ID, $taxonomy, array('fields' => 'ids'));
$term_array = array_map('intval', $term_array);
if (! $term_array || is_wp_error($term_array))
return $original ;
$where = " AND tt.term_id IN (" . implode(',', $term_array) . ")";
return $wpdb->prepare("WHERE p.post_date $op %s AND p.post_type = %s AND p.post_status = 'publish' $where", $post-> post_date, $post->post_type);
}
的single.php
<?php if (get_previous_post() != null) : ?>
<?php
$singular_nav_previous_text = apply_filters('tc_singular_nav_previous_text', _x('←' , 'Previous post link' , ' customizr'));
previous_post_link('%link' , '<div id="temporadas-dropdown"><i class="fa fa-caret-left"></i> ANTERIOR</div>');
?>
<?php endif; ?>
<?php if (get_next_post() != null) : ?>
<?php
$singular_nav_next_text = apply_filters('tc_singular_nav_next_text', _x('→' , 'Next post link' , 'customizr' ));
next_post_link('%link' , '<div id="temporadas-dropdown">SIGUIENTE <i class="fa fa-caret-right"></i></div>');
?>
<?php endif; ?>
如何显示基于taxonomy = 'temporada'
和秩序由meta_value = 'numeroepisodio'
的按钮?
感谢您的时间。
为什么不使用WP_Query对象为这个像下面
$posts = get_posts(array(
'post_type' => 'post',
'posts_per_page' => -1,
'orderby' => 'numeroepisodio',
'order' => 'DESC',
'tax_query' => array(
array(
'taxonomy' => 'temporada'
)
));
if($posts): ?>
// Do something here
<? endif;
您可能需要稍微修改,并检查语法..
嗨,@ JudeRosario并感谢您的回复。如何使用它检查下一个和上一个链接? – Ferrrmolina 2015-03-28 22:40:52
上面的代码调用循环,所以'get_previous_post(true)'和'get_next_post(true)'应该可以工作 – LumberHack 2015-03-28 22:48:55
感谢您的帮助。 – Ferrrmolina 2015-03-28 22:54:07
让我知道如果你需要更多的帮助.. – LumberHack 2015-03-28 22:22:16