当前位置: 首页>>代码示例>>PHP>>正文


PHP wp_find_hierarchy_loop函数代码示例

本文整理汇总了PHP中wp_find_hierarchy_loop函数的典型用法代码示例。如果您正苦于以下问题:PHP wp_find_hierarchy_loop函数的具体用法?PHP wp_find_hierarchy_loop怎么用?PHP wp_find_hierarchy_loop使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了wp_find_hierarchy_loop函数的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: wp_check_post_hierarchy_for_loops

/**
 * Checks the given subset of the post hierarchy for hierarchy loops.
 * Prevents loops from forming and breaks those that it finds.
 *
 * Attached to the wp_insert_post_parent filter.
 *
 * @since 3.1.0
 * @uses wp_find_hierarchy_loop()
 *
 * @param int $post_parent ID of the parent for the post we're checking.
 * @parem int $post_ID ID of the post we're checking.
 *
 * @return int The new post_parent for the post.
 */
function wp_check_post_hierarchy_for_loops($post_parent, $post_ID)
{
    // Nothing fancy here - bail
    if (!$post_parent) {
        return 0;
    }
    // New post can't cause a loop
    if (empty($post_ID)) {
        return $post_parent;
    }
    // Can't be its own parent
    if ($post_parent == $post_ID) {
        return 0;
    }
    // Now look for larger loops
    if (!($loop = wp_find_hierarchy_loop('wp_get_post_parent_id', $post_ID, $post_parent))) {
        return $post_parent;
    }
    // No loop
    // Setting $post_parent to the given value causes a loop
    if (isset($loop[$post_ID])) {
        return 0;
    }
    // There's a loop, but it doesn't contain $post_ID.  Break the loop.
    foreach (array_keys($loop) as $loop_member) {
        wp_update_post(array('ID' => $loop_member, 'post_parent' => 0));
    }
    return $post_parent;
}
开发者ID:BGCX261,项目名称:zombie-craft-svn-to-git,代码行数:43,代码来源:post.php

示例2: wp_check_term_hierarchy_for_loops

/**
 * Checks the given subset of the term hierarchy for hierarchy loops.
 * Prevents loops from forming and breaks those that it finds.
 *
 * Attached to the {@see 'wp_update_term_parent'} filter.
 *
 * @since 3.1.0
 *
 * @param int    $parent   `term_id` of the parent for the term we're checking.
 * @param int    $term_id  The term we're checking.
 * @param string $taxonomy The taxonomy of the term we're checking.
 *
 * @return int The new parent for the term.
 */
function wp_check_term_hierarchy_for_loops($parent, $term_id, $taxonomy)
{
    // Nothing fancy here - bail
    if (!$parent) {
        return 0;
    }
    // Can't be its own parent.
    if ($parent == $term_id) {
        return 0;
    }
    // Now look for larger loops.
    if (!($loop = wp_find_hierarchy_loop('wp_get_term_taxonomy_parent_id', $term_id, $parent, array($taxonomy)))) {
        return $parent;
    }
    // No loop
    // Setting $parent to the given value causes a loop.
    if (isset($loop[$term_id])) {
        return 0;
    }
    // There's a loop, but it doesn't contain $term_id. Break the loop.
    foreach (array_keys($loop) as $loop_member) {
        wp_update_term($loop_member, $taxonomy, array('parent' => 0));
    }
    return $parent;
}
开发者ID:n8maninger,项目名称:WordPress,代码行数:39,代码来源:taxonomy-functions.php


注:本文中的wp_find_hierarchy_loop函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。