最新公告
  • 欢迎您光临知事网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • WordPress函数get_category_by_path()用法 通过分类网址获取分类信息

    描述:

    通过分类网址获取分类所有信息

    用法:

    <?php get_category_by_path( $category_path, $full_match, $output ) ?>

    参数:

    $category_path

    (string) (必填) 包含分类别名的URL

    默认值: None

    $full_match

    (boolean) (可选) 是否应该匹配完整路径。

    默认值: true

    $output

    (string) (可选) 常量对象、数组或数组

    默认值: OBJECT

    演示代码:

    /**
    * Retrieve category based on URL containing the category slug.
    *
    * Breaks the $category_path parameter up to get the category slug.
    *
    * Tries to find the child path and will return it. If it doesn't find a
    * match, then it will return the first category matching slug, if $full_match,
    * is set to false. If it does not, then it will return null.
    *
    * It is also possible that it will return a WP_Error object on failure. Check
    * for it when using this function.
    *
    * @since 2.1.0
    *
    * @param string $category_path URL containing category slugs.
    * @param bool $full_match Optional. Whether full path should be matched.
    * @param string $output Optional. Constant OBJECT, ARRAY_A, or ARRAY_N
    * @return object|array|WP_Error|void Type is based on $output value.
    */
    function get_category_by_path( $category_path, $full_match = true, $output = OBJECT ) {
    $category_path = rawurlencode( urldecode( $category_path ) );
    $category_path = str_replace( '%2F', '/', $category_path );
    $category_path = str_replace( '%20', ' ', $category_path );
    $category_paths = '/' . trim( $category_path, '/' );
    $leaf_path = sanitize_title( basename( $category_paths ) );
    $category_paths = explode( '/', $category_paths );
    $full_path = '';
    foreach ( (array) $category_paths as $pathdir ) {
    $full_path .= ( $pathdir != '' ? '/' : '' ) . sanitize_title( $pathdir );
    }
    $categories = get_terms( 'category', array('get' => 'all', 'slug' => $leaf_path) );
    
    if ( empty( $categories ) ) {
    return;
    }
    
    foreach ( $categories as $category ) {
    $path = '/' . $leaf_path;
    $curcategory = $category;
    while ( ( $curcategory->parent != 0 ) && ( $curcategory->parent != $curcategory->term_id ) ) {
    $curcategory = get_term( $curcategory->parent, 'category' );
    if ( is_wp_error( $curcategory ) ) {
    return $curcategory;
    }
    $path = '/' . $curcategory->slug . $path;
    }
    
    if ( $path == $full_path ) {
    $category = get_term( $category->term_id, 'category', $output );
    _make_cat_compat( $category );
    return $category;
    }
    }
    
    // If full matching is not required, return the first cat that matches the leaf.
    if ( ! $full_match ) {
    $category = get_term( reset( $categories )->term_id, 'category', $output );
    _make_cat_compat( $category );
    return $category;
    }
    }
    找互联网优质资源,上知事网!
    知事网 » WordPress函数get_category_by_path()用法 通过分类网址获取分类信息

    常见问题FAQ

    网盘提取密码在哪里?
    在网站右侧有个“文件密码”,点击复制即可!
    网站的积分如何获得?
    注册登录后,每天签到可获得2个积分,每天可签到一次!

    发表评论

    • 1231会员总数(位)
    • 665资源总数(个)
    • 21本周发布(个)
    • 0 今日发布(个)
    • 3457稳定运行(天)

    提供最优质的资源集合

    Mac软件 Dedecms源码
    升级SVIP尊享更多特权立即升级