【问题标题】:WordPress custom loop filter by meta_key and value with serialize dataWordPress 自定义循环过滤器通过 meta_key 和 value 与序列化数据
【发布时间】:2017-06-12 18:38:34
【问题描述】:

我正在尝试为自定义帖子类型运行自定义循环,并通过一些 meta_keyvalue 进行过滤

现在简单的元值可以正常工作,但在这里我遇到了以下类型的序列化数据(嵌套)的挑战。

我将wpalchemy 用于元框。 meta_key 的帖子类型是 _event_metavalue 如下

a:9:{s:19:"ac_event_operations";a:1:{i:0;s:8:"Training";}s:18:"ac_event_positions";a:1:{i:0;s:10:"Supervisor";}s:18:"ac_event_employees";a:1:{i:0;s:2:"15";}s:13:"ac_event_date";s:10:"2017-06-15";s:19:"ac_event_start_time";s:5:"06:30";s:17:"ac_event_end_time";s:5:"07:00";s:14:"ac_event_place";s:6:"Office";s:18:"ac_event_organizer";s:4:"Jack";s:16:"ac_event_contact";s:4:"Rose";}

我正在尝试根据ac_event_operationsac_event_positionsac_event_employees 过滤All Events

所以对我来说,挑战是使用上面 meta_keys 的值过滤事件。这是我使用的查询,但当然,它没有给出任何结果。

global $event_mb;
$meta = get_post_meta( get_the_ID(), $event_mb->get_the_id(), TRUE );

$paged    = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$args     = [
    'post_type'      => 'event',
    'posts_per_page' => get_option( 'posts_per_page' ),
    'paged'          => $paged,
    'meta_query'     => [
        'meta_key' => '_event_meta',
        'value'    => '%ac_event_employees%',
        'compare'  => 'LIKE'
    ],

];
$temp     = $wp_query;
$wp_query = NULL;
$wp_query = new WP_Query( $args );

【问题讨论】:

    标签: wordpress meta-key


    【解决方案1】:

    像下面这样使用,

    $args = array(
        'meta_query' => array(
            'relation' => 'OR',
                array(
                    'key'     => 'country',
                    'value'   => 'Israel',
                    'compare' => '='
                ),
                array(
                    'key'     => 'age',
                    'value'   => array( 20, 30 ),
                    'type'    => 'numeric',
                    'compare' => 'BETWEEN'
                )
        )
     );
    $user_query = new WP_User_Query( $args );
    

    更多参考:https://codex.wordpress.org/Class_Reference/WP_User_Query

    【讨论】:

    • 我想动态获取值,而不是在数组中静态定义。我对您提供的解决方案有点怀疑。
    • 您可以在循环中只使用 meta_key 和 value。我只是添加例如,您可以随意修改。
    猜你喜欢
    • 2021-06-13
    • 2023-04-04
    • 1970-01-01
    • 2014-09-30
    • 2010-11-27
    • 2015-03-15
    • 2021-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多