WordPress.org

Ready to get started?Download WordPress

Forums

get_posts with meta_compare='LIKE' not working (2 posts)

  1. ranioli
    Member
    Posted 2 years ago #

    Hi,

    I am using the following code:

    $tolettpe = "Sale";//default
    if($_REQUEST['tolettype']) $tolettpe = $_REQUEST['tolettype'];
    else if($_REQUEST['srch_type']) $tolettpe = $_REQUEST['srch_type'];
    $args = array(
        'numberposts'  => $latestcount,
        'category'     => $catidstr,
      'meta_key'     => 'property_type',
      'meta_compare' => 'LIKE',
      'meta_value'   => $tolettpe.'%'
     );
    $post_content = get_posts($args);

    The value in the database is 'Sale||' and there are no query string variables in the request.

    But the query returns no results.

    If I use the exact value and no meta_compare, it works.

    Any ideas how to make this work?

  2. cebradesign
    Member
    Posted 1 year ago #

    Hi, ranioli.

    Have you try nesting meta_query?

    $tolettpe = "Sale";//default
    if($_REQUEST['tolettype']) $tolettpe = $_REQUEST['tolettype'];
    else if($_REQUEST['srch_type']) $tolettpe = $_REQUEST['srch_type'];
    $args = array(
        'numberposts'  => $latestcount,
        'category'     => $catidstr,
        'meta_query'   => array(
        array(
            'key'           => 'property_type',
            'compare'       => 'LIKE',
            'value'         => $tolettpe.'%'
            )
        )
     );
    $post_content = get_posts($args);

    (Source)

    When I find some troubles with retrieving posts with custom fields, this should be the best form. Anyway, that's my experience.

    Hope that helps!

Topic Closed

This topic has been closed to new replies.

About this Topic