php boundary,wordpress函数get_boundary_post()用法示例

get_boundary_post( bool $in_same_term = false, array|string $excluded_terms = '', bool $start = true, string $taxonomy = 'category' )

Retrieves the boundary post.

描述

Boundary being either the first or last post by publish date within the constraints specified by $in_same_term or $excluded_terms.

参数

$in_same_term

(bool)

(Optional)

Whether returned post should be in a same taxonomy term.

Default value: false

$excluded_terms

(array|string)

(Optional)

Array or comma-separated list of excluded term IDs.

Default value: ”

$start

(bool)

(Optional)

Whether to retrieve first or last post. Default true

Default value: true

$taxonomy

(string)

(Optional)

Taxonomy, if $in_same_term is true.

Default value: ‘category’

返回值

(null|array) Array containing the boundary post object if successful, null otherwise.

源代码

File: wp-includes/link-template.php

function get_boundary_post( $in_same_term = false, $excluded_terms = '', $start = true, $taxonomy = 'category' ) {

$post = get_post();

if ( ! $post || ! is_single() || is_attachment() || ! taxonomy_exists( $taxonomy ) )

return null;

$query_args = array(

'posts_per_page' => 1,

'order' => $start ? 'ASC' : 'DESC',

'update_post_term_cache' => false,

'update_post_meta_cache' => false

);

$term_array = array();

if ( ! is_array( $excluded_terms ) ) {

if ( ! empty( $excluded_terms ) )

$excluded_terms = explode( ',', $excluded_terms );

else

$excluded_terms = array();

}

if ( $in_same_term || ! empty( $excluded_terms ) ) {

if ( $in_same_term )

$term_array = wp_get_object_terms( $post->ID, $taxonomy, array( 'fields' => 'ids' ) );

if ( ! empty( $excluded_terms ) ) {

$excluded_terms = array_map( 'intval', $excluded_terms );

$excluded_terms = array_diff( $excluded_terms, $term_array );

$inverse_terms = array();

foreach ( $excluded_terms as $excluded_term )

$inverse_terms[] = $excluded_term * -1;

$excluded_terms = $inverse_terms;

}

$query_args[ 'tax_query' ] = array( array(

'taxonomy' => $taxonomy,

'terms' => array_merge( $term_array, $excluded_terms )

) );

}

return get_posts( $query_args );

}

更新日志

Version

描述

2.8.0

Introduced.

相关函数

Uses

wp-includes/query.php:

is_single()

wp-includes/query.php:

is_attachment()

wp-includes/taxonomy.php:

wp_get_object_terms()

wp-includes/taxonomy.php:

taxonomy_exists()

wp-includes/post.php:

get_posts()

wp-includes/post.php:

get_post()

Show 1 more use

Used By

wp-includes/deprecated.php:

get_boundary_post_rel_link()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值