• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP wp_parse_id_list函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: parse_orderby

 /**
  * Parse and sanitize 'orderby' keys passed to the user query.
  *
  * @since 4.2.0
  * @access protected
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
  * @param string $orderby Alias for the field to order by.
  * @return string Value to used in the ORDER clause, if `$orderby` is valid.
  */
 protected function parse_orderby($orderby)
 {
     global $wpdb;
     $meta_query_clauses = $this->meta_query->get_clauses();
     $_orderby = '';
     if (in_array($orderby, array('login', 'nicename', 'email', 'url', 'registered'))) {
         $_orderby = 'user_' . $orderby;
     } elseif (in_array($orderby, array('user_login', 'user_nicename', 'user_email', 'user_url', 'user_registered'))) {
         $_orderby = $orderby;
     } elseif ('name' == $orderby || 'display_name' == $orderby) {
         $_orderby = 'display_name';
     } elseif ('post_count' == $orderby) {
         // todo: avoid the JOIN
         $where = get_posts_by_author_sql('post');
         $this->query_from .= " LEFT OUTER JOIN (\n\t\t\t\tSELECT post_author, COUNT(*) as post_count\n\t\t\t\tFROM {$wpdb->posts}\n\t\t\t\t{$where}\n\t\t\t\tGROUP BY post_author\n\t\t\t) p ON ({$wpdb->users}.ID = p.post_author)\n\t\t\t";
         $_orderby = 'post_count';
     } elseif ('ID' == $orderby || 'id' == $orderby) {
         $_orderby = 'ID';
     } elseif ('meta_value' == $orderby || $this->get('meta_key') == $orderby) {
         $_orderby = "{$wpdb->usermeta}.meta_value";
     } elseif ('meta_value_num' == $orderby) {
         $_orderby = "{$wpdb->usermeta}.meta_value+0";
     } elseif ('include' === $orderby && !empty($this->query_vars['include'])) {
         $include = wp_parse_id_list($this->query_vars['include']);
         $include_sql = implode(',', $include);
         $_orderby = "FIELD( {$wpdb->users}.ID, {$include_sql} )";
     } elseif (isset($meta_query_clauses[$orderby])) {
         $meta_clause = $meta_query_clauses[$orderby];
         $_orderby = sprintf("CAST(%s.meta_value AS %s)", esc_sql($meta_clause['alias']), esc_sql($meta_clause['cast']));
     }
     return $_orderby;
 }
开发者ID:kadrim1,项目名称:metsayhistu,代码行数:43,代码来源:class-wp-user-query.php


示例2: es_get_posts

 /**
  * Retrieve list of latest posts or posts matching criteria.
  *
  * The defaults are as follows:
  *     'numberposts' - Default is 5. Total number of posts to retrieve.
  *     'offset' - Default is 0. See {@link WP_Query::query()} for more.
  *     'category' - What category to pull the posts from.
  *     'orderby' - Default is 'date', which orders based on post_date. How to order the posts.
  *     'order' - Default is 'DESC'. The order to retrieve the posts.
  *     'include' - See {@link WP_Query::query()} for more.
  *     'exclude' - See {@link WP_Query::query()} for more.
  *     'meta_key' - See {@link WP_Query::query()} for more.
  *     'meta_value' - See {@link WP_Query::query()} for more.
  *     'post_type' - Default is 'post'. Can be 'page', or 'attachment' to name a few.
  *     'post_parent' - The parent of the post or post type.
  *     'post_status' - Default is 'publish'. Post status to retrieve.
  *
  * @uses WP_Query::query() See for more default arguments and information.
  * @uses ES_WP_Query
  * @link http://codex.wordpress.org/Template_Tags/get_posts
  *
  * @param array $args Optional. Overrides defaults.
  * @return array List of posts.
  */
 function es_get_posts($args = null)
 {
     $defaults = array('numberposts' => 5, 'offset' => 0, 'category' => 0, 'orderby' => 'date', 'order' => 'DESC', 'include' => array(), 'exclude' => array(), 'meta_key' => '', 'meta_value' => '', 'post_type' => 'post', 'suppress_filters' => true);
     $r = wp_parse_args($args, $defaults);
     if (empty($r['post_status'])) {
         $r['post_status'] = 'attachment' == $r['post_type'] ? 'inherit' : 'publish';
     }
     if (!empty($r['numberposts']) && empty($r['posts_per_page'])) {
         $r['posts_per_page'] = $r['numberposts'];
     }
     if (!empty($r['category'])) {
         $r['cat'] = $r['category'];
     }
     if (!empty($r['include'])) {
         $incposts = wp_parse_id_list($r['include']);
         $r['posts_per_page'] = count($incposts);
         // only the number of posts included
         $r['post__in'] = $incposts;
     } elseif (!empty($r['exclude'])) {
         $r['post__not_in'] = wp_parse_id_list($r['exclude']);
     }
     $r['ignore_sticky_posts'] = true;
     $r['no_found_rows'] = true;
     $get_posts = new ES_WP_Query();
     return $get_posts->query($r);
 }
开发者ID:gopinathshiva,项目名称:wordpress-vip-plugins,代码行数:50,代码来源:functions.php


示例3: setup_group_ids

 function setup_group_ids()
 {
     global $wpdb, $bp;
     $sql = "SELECT group_id FROM {$bp->groups->table_name_groupmeta} WHERE ";
     $join_clauses = array();
     $where_clauses = array();
     $counter = 1;
     $filter_count = count($this->filters);
     foreach ($this->filters as $key => $value) {
         $table_shortname = 'gmf' . $counter;
         $join_sql = $counter > 1 ? " LEFT JOIN {$bp->groups->table_name_groupmeta} {$table_shortname} ON gmf1.group_id = {$table_shortname}.group_id " : "{$bp->groups->table_name_groupmeta} {$table_shortname}";
         $join_clauses[] = $join_sql;
         $clause = $wpdb->prepare("{$table_shortname}.meta_key = %s", $key);
         if (false !== $value) {
             $clause .= $wpdb->prepare(" AND {$table_shortname}.meta_value = %s", $value);
         }
         $where_clauses[] = $clause;
         // If this key matches the orderby param, stash the table shortname
         if (!empty($this->orderby) && $this->orderby == $key) {
             $this->orderby_shortname = $table_shortname;
         }
         $counter++;
     }
     if (!empty($where_clauses)) {
         $sql = "SELECT gmf1.group_id FROM " . implode(' ', $join_clauses) . " WHERE " . implode(' AND ', $where_clauses);
     } else {
         $sql = $wpdb->get_results("SELECT id FROM {$bp->groups->table_name} WHERE 1 = 0");
     }
     $this->group_ids = wp_parse_id_list($wpdb->get_col($sql));
 }
开发者ID:kosir,项目名称:thatcamp-org,代码行数:30,代码来源:groupmeta-query.php


示例4: meta

 /**
  * Standard meta retrieval
  *
  * @param int   $post_id
  * @param bool  $saved
  * @param array $field
  *
  * @return array
  */
 public static function meta($post_id, $saved, $field)
 {
     $meta = get_post_meta($post_id, $field['id'], true);
     $meta = wp_parse_id_list($meta);
     $meta = array_filter($meta);
     return $meta;
 }
开发者ID:warfare-plugins,项目名称:social-warfare,代码行数:16,代码来源:taxonomy-advanced.php


示例5: taxonomy_filter

 /**
  * Filters out product categories the user does not have access to. 
  * @since 2.5.8
  * @global type $wpdb
  * @param array $args
  * @param array $taxonomies
  * @return array
  */
 public function taxonomy_filter($args, $taxonomies)
 {
     global $wpdb;
     if (in_array('product_cat', $taxonomies)) {
         $disallowed = $this->get_cached_exclusions('cat');
         if ($disallowed === false) {
             $user_roles = $this->get_roles_for_current_user();
             $sql = " SELECT term_id FROM {$wpdb->prefix}term_taxonomy WHERE taxonomy = 'product_cat' AND term_id NOT IN (\n\t\t\t\tSELECT term_id FROM {$wpdb->prefix}term_taxonomy WHERE taxonomy = 'product_cat' AND term_id NOT IN (SELECT {$wpdb->prefix}woocommerce_termmeta.woocommerce_term_id FROM {$wpdb->prefix}woocommerce_termmeta WHERE meta_key = '_wc_restrictions')\n\t\t\t\tUNION ALL \n\t\t\t\tSELECT {$wpdb->prefix}woocommerce_termmeta.woocommerce_term_id FROM {$wpdb->prefix}woocommerce_termmeta WHERE ( (meta_key ='_wc_restrictions' AND meta_value = 'public') OR (meta_key = '_wc_restrictions_allowed' AND meta_value IN ('" . implode("','", $user_roles) . "') ) ) )";
             $disallowed = $wpdb->get_col($sql);
             if ($disallowed !== false) {
                 $session_id = WC_Catalog_Visibility_Compatibility::WC()->session->get_customer_id();
                 set_transient('twccr_' . $session_id . '_cat', $disallowed, 60 * 60 * 24);
             }
         }
         if ($disallowed && count($disallowed)) {
             $disallowed = array_map('intval', $disallowed);
             if (isset($args['include']) && !empty($args['include'])) {
                 $include = wp_parse_id_list($args['include']);
                 $allowed = array_filter(array_diff($include, $disallowed));
                 if (empty($allowed)) {
                     $args['include'] = array();
                     $args['exclude'] = $disallowed;
                 } else {
                     $args['include'] = $allowed;
                 }
             } else {
                 $exclude = wp_parse_id_list($args['exclude']);
                 $args['exclude'] = isset($exclude) && !empty($exclude) ? array_merge($exclude, $disallowed) : $disallowed;
             }
         }
     } else {
     }
     return $args;
 }
开发者ID:Junaid-Farid,项目名称:gocnex,代码行数:42,代码来源:class-wc-catalog-restrictions-query.php


示例6: circleflip_post_formats_save_metabox

function circleflip_post_formats_save_metabox($post_id)
{
    if (!isset($_POST['_circleflip_post_formats']) || !wp_verify_nonce($_POST['_circleflip_post_formats']['_nonce'], __FILE__) || defined('DOING_AUTOSAVE') && DOING_AUTOSAVE || !current_user_can('edit_post', $post_id)) {
        return $post_id;
    }
    $format = get_post_format($post_id);
    $data = array();
    if ('audio' === $format) {
        if (!empty($_POST['_circleflip_post_formats']['audio_id'])) {
            $data['audio_id'] = (int) $_POST['_circleflip_post_formats']['audio_id'];
        } else {
            $data['audio_embed'] = $_POST['_circleflip_post_formats']['audio_embed'];
        }
    } else {
        if ('video' === $format) {
            if (!empty($_POST['_circleflip_post_formats']['video_id'])) {
                $data['video_id'] = (int) $_POST['_circleflip_post_formats']['video_id'];
            } else {
                $data['video_embed'] = $_POST['_circleflip_post_formats']['video_embed'];
            }
        } else {
            if ('gallery' === $format) {
                $ids_string = $_POST['_circleflip_post_formats']['gallery'];
                $data['gallery'] = wp_parse_id_list($ids_string);
                $data['gallery_layout'] = $_POST['_circleflip_post_formats']['layout'];
            }
        }
    }
    update_post_meta($post_id, '_circleflip_post_formats', $data);
}
开发者ID:purgesoftwares,项目名称:purges,代码行数:30,代码来源:circleflip-post-formats-metabox.php


示例7: pre_user_query

 /**
  * Modify query to filter users by group.
  * 
  * @param WP_User_Query $user_query
  * @return WP_User_Query
  */
 public static function pre_user_query($user_query)
 {
     global $pagenow, $wpdb;
     if ($pagenow == 'users.php' && empty($_GET['page'])) {
         if (isset($_REQUEST['group'])) {
             $group_id = $_REQUEST['group'];
             if (Groups_Group::read($group_id)) {
                 $group = new Groups_Group($group_id);
                 $users = $group->users;
                 $include = array();
                 if (count($users) > 0) {
                     foreach ($users as $user) {
                         $include[] = $user->user->ID;
                     }
                 } else {
                     // no results
                     $include[] = 0;
                 }
                 $ids = implode(',', wp_parse_id_list($include));
                 $user_query->query_where .= " AND {$wpdb->users}.ID IN ({$ids})";
             }
         }
     }
     return $user_query;
 }
开发者ID:edelkevis,项目名称:git-plus-wordpress,代码行数:31,代码来源:class-groups-admin-users.php


示例8: test_get_current_threads_for_user_with_old_args

 /**
  * @group get_current_threads_for_user
  * @expectedDeprecated BP_Messages_Thread::get_current_threads_for_user
  */
 public function test_get_current_threads_for_user_with_old_args()
 {
     $u1 = $this->factory->user->create();
     $u2 = $this->factory->user->create();
     $t1 = $this->factory->message->create(array('sender_id' => $u1, 'recipients' => array($u2), 'subject' => 'Foo'));
     $t2 = $this->factory->message->create(array('sender_id' => $u1, 'recipients' => array($u2), 'subject' => 'Bar'));
     $threads = BP_Messages_Thread::get_current_threads_for_user($u1, 'sentbox', 'all', null, null, 'ar');
     $expected = array($t2);
     $found = wp_parse_id_list(wp_list_pluck($threads['threads'], 'thread_id'));
     $this->assertSame($expected, $found);
 }
开发者ID:AceMedia,项目名称:BuddyPress,代码行数:15,代码来源:class.bp-messages-thread.php


示例9: find

 public function find($ids)
 {
     if (is_numeric($ids)) {
         return $this->get_term($ids);
     }
     $incposts = wp_parse_id_list($ids);
     $this->posts_per_page = count($incposts);
     // only the number of posts included
     $this->post__in = $incposts;
     return count($incposts) == 1 ? $this->first() : $this->get();
 }
开发者ID:solutionworks,项目名称:theme-setup,代码行数:11,代码来源:Term.php


示例10: mb_remove_user_topic_bookmark

function mb_remove_user_topic_bookmark($user_id, $topic_id)
{
    $user_id = mb_get_user_id($user_id);
    $topic_id = mb_get_topic_id($topic_id);
    $favs = mb_get_user_topic_bookmarks($user_id);
    if (in_array($topic_id, $favs)) {
        wp_cache_delete('mb_get_topic_bookmarkers_' . $topic_id, 'message-board-users');
        $_sub = array_search($topic_id, $favs);
        unset($favs[$_sub]);
        $favs = implode(',', wp_parse_id_list(array_filter($favs)));
        return update_user_meta($user_id, mb_get_user_topic_bookmarks_meta_key(), $favs);
    }
    return false;
}
开发者ID:justintadlock,项目名称:message-board,代码行数:14,代码来源:bookmarks.php


示例11: read_children

 /**
  * Loads variation child IDs.
  * @param  WC_Product
  * @param  bool $force_read True to bypass the transient.
  * @return WC_Product
  */
 public function read_children(&$product, $force_read = false)
 {
     $children_transient_name = 'wc_product_children_' . $product->get_id();
     $children = get_transient($children_transient_name);
     if (empty($children) || !is_array($children) || !isset($children['all']) || !isset($children['visible']) || $force_read) {
         $all_args = $visible_only_args = array('post_parent' => $product->get_id(), 'post_type' => 'product_variation', 'orderby' => 'menu_order', 'order' => 'ASC', 'fields' => 'ids', 'post_status' => 'publish', 'numberposts' => -1);
         if ('yes' === get_option('woocommerce_hide_out_of_stock_items')) {
             $visible_only_args['meta_query'][] = array('key' => '_stock_status', 'value' => 'instock', 'compare' => '=');
         }
         $children['all'] = get_posts(apply_filters('woocommerce_variable_children_args', $all_args, $product, false));
         $children['visible'] = get_posts(apply_filters('woocommerce_variable_children_args', $visible_only_args, $product, true));
         set_transient($children_transient_name, $children, DAY_IN_SECONDS * 30);
     }
     $product->set_children(wp_parse_id_list((array) $children['all']));
     $product->set_visible_children(wp_parse_id_list((array) $children['visible']));
 }
开发者ID:woocommerce,项目名称:woocommerce,代码行数:22,代码来源:class-wc-product-variable-data-store-cpt.php


示例12: bp_friends_filter_user_query_populate_extras

/**
 * Filter BP_User_Query::populate_extras to add confirmed friendship status.
 *
 * Each member in the user query is checked for confirmed friendship status
 * against the logged-in user.
 *
 * @since 1.7.0
 *
 * @global WPDB $wpdb WordPress database access object.
 *
 * @param BP_User_Query $user_query   The BP_User_Query object.
 * @param string        $user_ids_sql Comma-separated list of user IDs to fetch extra
 *                                    data for, as determined by BP_User_Query.
 */
function bp_friends_filter_user_query_populate_extras(BP_User_Query $user_query, $user_ids_sql)
{
    global $wpdb;
    // Stop if user isn't logged in.
    if (!($user_id = bp_loggedin_user_id())) {
        return;
    }
    $maybe_friend_ids = wp_parse_id_list($user_ids_sql);
    foreach ($maybe_friend_ids as $friend_id) {
        $status = BP_Friends_Friendship::check_is_friend($user_id, $friend_id);
        $user_query->results[$friend_id]->friendship_status = $status;
        if ('is_friend' == $status) {
            $user_query->results[$friend_id]->is_friend = 1;
        }
    }
}
开发者ID:CompositeUK,项目名称:clone.BuddyPress,代码行数:30,代码来源:bp-friends-filters.php


示例13: __construct

 /**
  * Setup the object
  *
  * @param array $args Arguments containing from taxonomy, to taxonomy,
  *                    and additional optional params
  *
  * @since 1.0.0
  */
 public function __construct($args = array())
 {
     $args = wp_parse_args($args, array('from_tax' => '', 'to_tax' => '', 'parent' => '', 'terms' => ''));
     if (!$args['from_tax'] || !$args['to_tax']) {
         return;
     }
     if (!empty($args['parent'])) {
         $this->parent = absint($args['parent']);
     }
     if (!empty($args['terms'])) {
         $this->terms = wp_parse_id_list($args['terms']);
     }
     $this->is_ui = isset($_GET['page']) && 'taxonomy-switcher' == $_GET['page'];
     $this->from = sanitize_text_field($args['from_tax']);
     $this->to = sanitize_text_field($args['to_tax']);
 }
开发者ID:sc0ttkclark,项目名称:taxonomy-switcher,代码行数:24,代码来源:Taxonomy_Switcher.php


示例14: exclude

 public function exclude($taxonomy, $string)
 {
     global $yarpp;
     echo "<div class='yarpp_form_row yarpp_form_exclude'><div class='yarpp_form_label'>";
     echo $string;
     echo "</div><div class='yarpp_scroll_wrapper'><div class='exclude_terms' id='exclude_{$taxonomy}'>";
     $exclude_tt_ids = wp_parse_id_list(yarpp_get_option('exclude'));
     $exclude_term_ids = $yarpp->admin->get_term_ids_from_tt_ids($taxonomy, $exclude_tt_ids);
     if (count($exclude_term_ids)) {
         $terms = get_terms($taxonomy, array('include' => $exclude_term_ids));
         foreach ($terms as $term) {
             echo "<input type='checkbox' name='exclude[{$term->term_taxonomy_id}]' id='exclude_{$term->term_taxonomy_id}' value='true' checked='checked' /> <label for='exclude_{$term->term_taxonomy_id}'>" . esc_html($term->name) . "</label> ";
         }
     }
     echo "</div></div></div>";
 }
开发者ID:WackoMako,项目名称:stonedape,代码行数:16,代码来源:YARPP_Meta_Box_Pool.php


示例15: bp_update_meta_cache

/**
 * Update the metadata cache for the specified objects.
 *
 * @since BuddyPress (1.6)
 * @global $wpdb WordPress database object for queries.
 * @param array $args See $defaults definition for more details
 * @return mixed Metadata cache for the specified objects, or false on failure.
 */
function bp_update_meta_cache($args = array())
{
    global $wpdb;
    $defaults = array('object_ids' => array(), 'object_type' => '', 'meta_table' => '', 'object_column' => '', 'cache_key_prefix' => '');
    $r = wp_parse_args($args, $defaults);
    extract($r);
    if (empty($object_ids) || empty($object_type) || empty($meta_table)) {
        return false;
    }
    if (empty($cache_key_prefix)) {
        $cache_key_prefix = $meta_table;
    }
    if (empty($object_column)) {
        $object_column = $object_type . '_id';
    }
    $object_ids = wp_parse_id_list($object_ids);
    $cache = array();
    // Get meta info
    $id_list = join(',', $object_ids);
    $meta_list = $wpdb->get_results($wpdb->prepare("SELECT {$object_column}, meta_key, meta_value FROM {$meta_table} WHERE {$object_column} IN ({$id_list})", $object_type), ARRAY_A);
    if (!empty($meta_list)) {
        foreach ($meta_list as $metarow) {
            $mpid = intval($metarow[$object_column]);
            $mkey = $metarow['meta_key'];
            $mval = $metarow['meta_value'];
            // Force subkeys to be array type:
            if (!isset($cache[$mpid]) || !is_array($cache[$mpid])) {
                $cache[$mpid] = array();
            }
            if (!isset($cache[$mpid][$mkey]) || !is_array($cache[$mpid][$mkey])) {
                $cache[$mpid][$mkey] = array();
            }
            // Add a value to the current pid/key:
            $cache[$mpid][$mkey][] = $mval;
        }
    }
    foreach ($object_ids as $id) {
        if (!isset($cache[$id])) {
            $cache[$id] = array();
        }
        foreach ($cache[$id] as $meta_key => $meta_value) {
            wp_cache_set($cache_key_prefix . '_' . $id . '_' . $meta_key, $meta_value, 'bp');
        }
    }
    return $cache;
}
开发者ID:pyropictures,项目名称:wordpress-plugins,代码行数:54,代码来源:bp-core-cache.php


示例16: meta

 /**
  * Standard meta retrieval
  *
  * @param int   $post_id
  * @param bool  $saved
  * @param array $field
  *
  * @return array
  */
 public static function meta($post_id, $saved, $field)
 {
     $meta = get_post_meta($post_id, $field['id'], true);
     $meta = wp_parse_id_list($meta);
     $meta = array_filter($meta);
     // Use $field['std'] only when the meta box hasn't been saved (i.e. the first time we run)
     $meta = !$saved ? $field['std'] : $meta;
     // Escape attributes
     $meta = self::call($field, 'esc_meta', $meta);
     // Make sure meta value is an array for clonable and multiple fields
     if ($field['clone'] || $field['multiple']) {
         if (empty($meta) || !is_array($meta)) {
             /**
              * Note: if field is clonable, $meta must be an array with values
              * so that the foreach loop in self::show() runs properly
              * @see self::show()
              */
             $meta = $field['clone'] ? array('') : array();
         }
     }
     return $meta;
 }
开发者ID:WPTie,项目名称:VRCore,代码行数:31,代码来源:taxonomy-advanced.php


示例17: meta

 /**
  * Get post meta
  *
  * @param string   $key     Meta key. Required.
  * @param int|null $post_id Post ID. null for current post. Optional
  * @param array    $args    Array of arguments. Optional.
  *
  * @return mixed
  */
 public static function meta($key, $args = array(), $post_id = null)
 {
     $post_id = empty($post_id) ? get_the_ID() : $post_id;
     $args = wp_parse_args($args, array('type' => 'text', 'multiple' => false, 'clone' => false));
     // Always set 'multiple' true for following field types
     if (in_array($args['type'], array('checkbox_list', 'autocomplete', 'file', 'file_advanced', 'image', 'image_advanced', 'plupload_image', 'thickbox_image'))) {
         $args['multiple'] = true;
     }
     $field = array('id' => $key, 'type' => $args['type'], 'clone' => $args['clone'], 'multiple' => $args['multiple']);
     $class = RW_Meta_Box::get_class_name($field);
     switch ($args['type']) {
         case 'taxonomy_advanced':
             if (empty($args['taxonomy'])) {
                 break;
             }
             $meta = get_post_meta($post_id, $key, !$args['multiple']);
             $term_ids = wp_parse_id_list($meta);
             // Allow to pass more arguments to "get_terms"
             $func_args = wp_parse_args(array('include' => $term_ids, 'hide_empty' => false), $args);
             unset($func_args['type'], $func_args['taxonomy'], $func_args['multiple']);
             $meta = get_terms($args['taxonomy'], $func_args);
             break;
         case 'taxonomy':
             $meta = empty($args['taxonomy']) ? array() : get_the_terms($post_id, $args['taxonomy']);
             break;
         case 'map':
             $field = array('id' => $key, 'multiple' => false, 'clone' => false);
             $meta = RWMB_Map_Field::the_value($field, $args, $post_id);
             break;
         case 'oembed':
             $meta = RWMB_OEmbed_Field::the_value($field, $args, $post_id);
             break;
         default:
             $meta = call_user_func(array($class, 'get_value'), $field, $args, $post_id);
             break;
     }
     return apply_filters('rwmb_meta', $meta, $key, $args, $post_id);
 }
开发者ID:Kuuak,项目名称:meta-box,代码行数:47,代码来源:helper.php


示例18: validate_args

 function validate_args($args)
 {
     $args = wp_parse_args($args, self::$options->get_defaults());
     // Category IDs
     foreach (array('exclude_cat', 'include_cat') as $key) {
         if (!empty($args[$key])) {
             $args[$key] = wp_parse_id_list($args[$key]);
         }
     }
     // Anchors
     if ('both' != $args['format']) {
         $args['anchors'] = false;
     }
     // Block numeric
     if (array_key_exists('block_numeric', $args)) {
         if ('block' == $args['format'] && !array_key_exists('month_format', $args)) {
             $args['month_format'] = $args['block_numeric'] ? 'numeric' : 'short';
         }
         unset($args['block_numeric']);
     }
     // List format
     $args['list_format'] = trim($args['list_format']);
     return $args;
 }
开发者ID:voku,项目名称:wp-smart-archives-reloaded,代码行数:24,代码来源:core.php


示例19: _list

 /**
  * List all unlocked achievements for the specified user
  *
  * @since Achievements (3.3)
  * @subcommand list
  * @synopsis --user_id=<id> [--format=<table|csv|json>]
  */
 public function _list($args, $assoc_args)
 {
     global $wpdb;
     $defaults = array('format' => 'table');
     $assoc_args = array_merge($defaults, $assoc_args);
     if (!$assoc_args['user_id'] || !($user = get_userdata($assoc_args['user_id']))) {
         WP_CLI::error('Invalid User ID specified.');
     }
     // Get the progress for this user
     $achievement_ids = $wpdb->get_col($wpdb->prepare("SELECT post_parent FROM {$wpdb->posts} WHERE post_type = %s AND post_author = %d", dpa_get_progress_post_type(), $user->ID));
     if (empty($achievement_ids)) {
         WP_CLI::error(sprintf('User ID %d has not unlocked any achievements.', $user->ID));
     }
     $achievement_ids = wp_parse_id_list($achievement_ids);
     $achievement_count = count($achievement_ids);
     $achievement_ids = implode(',', $achievement_ids);
     // Get the achievements
     $posts = $wpdb->get_results($wpdb->prepare("SELECT ID, post_title FROM {$wpdb->posts} WHERE ID in ({$achievement_ids}) AND post_type = %s AND post_status = %s ORDER BY post_title ASC", dpa_get_achievement_post_type(), 'publish'));
     if (empty($posts)) {
         WP_CLI::error(sprintf("No achievements unlocked by User ID %d have been found. This shouldn't happen.", $user->ID));
     }
     WP_CLI::success(sprintf('%d achievements have been unlocked by User ID %d:', $achievement_count, $user->ID));
     \WP_CLI\utils\format_items($assoc_args['format'], $posts, $this->fields);
 }
开发者ID:rlybbert,项目名称:achievements,代码行数:31,代码来源:class-dpa-wpcli-achievements-users-command.php


示例20: array

/**
 * Retrieve a list of pages.
 *
 * The defaults that can be overridden are the following: 'child_of',
 * 'sort_order', 'sort_column', 'post_title', 'hierarchical', 'exclude',
 * 'include', 'meta_key', 'meta_value','authors', 'number', and 'offset'.
 *
 * @since 1.5.0
 * @uses $wpdb
 *
 * @param mixed $args Optional. Array or string of options that overrides defaults.
 * @return array List of pages matching defaults or $args
 */
function &get_pages($args = '')
{
    global $wpdb;
    $defaults = array('child_of' => 0, 'sort_order' => 'ASC', 'sort_column' => 'post_title', 'hierarchical' => 1, 'exclude' => array(), 'include' => array(), 'meta_key' => '', 'meta_value' => '', 'authors' => '', 'parent' => -1, 'exclude_tree' => '', 'number' => '', 'offset' => 0, 'post_type' => 'page', 'post_status' => 'publish');
    $r = wp_parse_args($args, $defaults);
    extract($r, EXTR_SKIP);
    $number = (int) $number;
    $offset = (int) $offset;
    // Make sure the post type is hierarchical
    $hierarchical_post_types = get_post_types(array('hierarchical' => true));
    if (!in_array($post_type, $hierarchical_post_types)) {
        return false;
    }
    // Make sure we have a valid post status
    if (!in_array($post_status, get_post_stati())) {
        return false;
    }
    $cache = array();
    $key = md5(serialize(compact(array_keys($defaults))));
    if ($cache = wp_cache_get('get_pages', 'posts')) {
        if (is_array($cache) && isset($cache[$key])) {
            $pages = apply_filters('get_pages', $cache[$key], $r);
            return $pages;
        }
    }
    if (!is_array($cache)) {
        $cache = array();
    }
    $inclusions = '';
    if (!empty($include)) {
        $child_of = 0;
        //ignore child_of, parent, exclude, meta_key, and meta_value params if using include
        $parent = -1;
        $exclude = '';
        $meta_key = '';
        $meta_value = '';
        $hierarchical = false;
        $incpages = wp_parse_id_list($include);
        if (!empty($incpages)) {
            foreach ($incpages as $incpage) {
                if (empty($inclusions)) {
                    $inclusions = $wpdb->prepare(' AND ( ID = %d ', $incpage);
                } else {
                    $inclusions .= $wpdb->prepare(' OR ID = %d ', $incpage);
                }
            }
        }
    }
    if (!empty($inclusions)) {
        $inclusions .= ')';
    }
    $exclusions = '';
    if (!empty($exclude)) {
        $expages = wp_parse_id_list($exclude);
        if (!empty($expages)) {
            foreach ($expages as $expage) {
                if (empty($exclusions)) {
                    $exclusions = $wpdb->prepare(' AND ( ID <> %d ', $expage);
                } else {
                    $exclusions .= $wpdb->prepare(' AND ID <> %d ', $expage);
                }
            }
        }
    }
    if (!empty($exclusions)) {
        $exclusions .= ')';
    }
    $author_query = '';
    if (!empty($authors)) {
        $post_authors = preg_split('/[\\s,]+/', $authors);
        if (!empty($post_authors)) {
            foreach ($post_authors as $post_author) {
                //Do we have an author id or an author login?
                if (0 == intval($post_author)) {
                    $post_author = get_userdatabylogin($post_author);
                    if (empty($post_author)) {
                        continue;
                    }
                    if (empty($post_author->ID)) {
                        continue;
                    }
                    $post_author = $post_author->ID;
                }
                if ('' == $author_query) {
                    $author_query = $wpdb->prepare(' post_author = %d ', $post_author);
                } else {
                    $author_query .= $wpdb->prepare(' OR post_author = %d ', $post_author);
//.........这里部分代码省略.........
开发者ID:BGCX261,项目名称:zombie-craft-svn-to-git,代码行数:101,代码来源:post.php



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP wp_parse_str函数代码示例发布时间:2022-05-23
下一篇:
PHP wp_parse_auth_cookie函数代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap