Skip Navigation

[Resolved] Can't retrieve posts with custom field value empty

This support ticket is created 6 years, 1 month ago. There's a good chance that you are reading advice that it now obsolete.

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

Sun Mon Tue Wed Thu Fri Sat
- 10:00 – 13:00 10:00 – 13:00 10:00 – 13:00 10:00 – 13:00 10:00 – 13:00 -
- 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 -

Supporter timezone: Asia/Kolkata (GMT+05:30)

This topic contains 15 replies, has 2 voices.

Last updated by Minesh 6 years, 1 month ago.

Assisted by: Minesh.

Author
Posts
#1160522

I am trying to:
I am trying to retrieve all posts of a specific CPT, within a specific custom taxonomy, to get sorted by a custom field.

Link to a page where the issue can be seen:
hidden link
I expected to see:
I can retrieve the posts of which the above target custom field has a value.
Instead, I got:
However I want all posts whatever the value is empty or not.
-----------------------
$post_type = 'carte-item';

$args = [
'posts_per_page' => -1,
'post_type' => $post_type,
'tax_query' => array(
array(
'taxonomy' => $target_taxonomy,
'field' => 'term_id',
'terms' => $each_term->term_id,
)
),
'meta_key' => 'wpcf-display-order',
'orderby' => 'meta_value',
'order' => 'DESC'
];
$the_query = new WP_Query($args);

#1160526

I dont know how you can help me on live chat.
I was waiting and nothing is happened to answer.
Please answer me.

#1160585

Minesh
Supporter

Languages: English (English )

Timezone: Asia/Kolkata (GMT+05:30)

Hello. Thank you for contacting the Toolset support.

Well - as I understand, you want to fetch the posts from your CPT where taxonomy term is not assigned - correct?

#1161348

CPT "carte-item" has custom field "display-order" and "price";
And these CPTs are categorized via the taxonomy "carte-cat".
Let me give some example here:
----------------------------------------
> [title] California Merlot Duckhorn
[display-order] 2
[price] 4,800 JPY
[category] Wine
----------------------------------------
> [title] Yamazaki Whisky 12yr
[display-order]
[price] 2,900 JPY
[category] Whisky
----------------------------------------
> [title] MOUTON CADET BLANC
[display-order] 1
[price] 1,800 JPY
[category] Wine
----------------------------------------
** Please note that "display-order" of 1st and 3rd items are set to a numeric value, but the 2nd is left empty.
If I query with
$post_type = 'carte-item';
$args = [
'posts_per_page' => -1,
'post_type' => $post_type,
'tax_query' => array(
array(
'taxonomy' => $target_taxonomy,
'field' => 'term_id',
'terms' => $each_term->term_id,
)
),
};
$the_query = new WP_Query($args);
this will result as:
----------------------------------------
[title] [display-order] [price] [category]
a. California Merlot Duckhorn 2 4,800 JPY Wine
b. Yamazaki Whisky 12yr 2,900 JPY Whisky
c. MOUTON CADET BLANC 1 1,800 JPY Wine
----------------------------------------
My EXPECTED result is here where 2 wines are ordered in "display-order" field
----------------------------------------
[title] [display-order] [price] [category]
a. Yamazaki Whisky 12yr 2,900 JPY Whisky
b. MOUTON CADET BLANC 1 1,800 JPY Wine
c. California Merlot Duckhorn 2 4,800 JPY Wine
----------------------------------------
When I change the code as below (by adding meta_key, ordeby, order
$args = [
'posts_per_page' => -1,
'post_type' => $post_type,
'tax_query' => array(
array(
'taxonomy' => $target_taxonomy,
'field' => 'term_id',
'terms' => $each_term->term_id,
)
),
'meta_key' => 'wpcf-display-order',
'orderby' => 'meta_value',
'order' => 'DESC'
];
$the_query = new WP_Query($args);
the results shows only 2 lines, **LACKING** Yamazaki Whisky which have no "display-order" set.
----------------------------------------
[title] [display-order] [price] [category]
a. MOUTON CADET BLANC 1 1,800 JPY Wine
b. California Merlot Duckhorn 2 4,800 JPY Wine
----------------------------------------
This is just an example. In our running site, there are hundreds of items, which does not have any value in "display-order". So that if I try to sort some of those items with display-order set, most of hundreds of items will not appear in the list. Of course I know that if I enter the display-order for each hundreds of items, it will work, which is too much hours we need to spend on it.

#1161352

Minesh
Supporter

Languages: English (English )

Timezone: Asia/Kolkata (GMT+05:30)

Well - what if you try to add meta_query to your query argument:

For example - could you please try following code where I've added the meta_query argument:

$args = [
'posts_per_page' => -1,
'post_type' => $post_type,
'meta_query' => array(
array(
     'key' => 'wpcf-display-order',
     'compare' => 'NOT EXISTS' 
    ),
),
'tax_query' => array(
array(
'taxonomy' => $target_taxonomy,
'field' => 'term_id',
'terms' => $each_term->term_id,
)
),
'meta_key' => 'wpcf-display-order',
'orderby' => 'meta_value',
'order' => 'DESC'
];
#1161358

I have just tried; unfortunately it results NOTHING (no results) after adding what you have guided me.
Thank you for advance.

#1161361

Minesh
Supporter

Languages: English (English )

Timezone: Asia/Kolkata (GMT+05:30)

This is your expected result - correct?

My EXPECTED result is here where 2 wines are ordered in "display-order" field
----------------------------------------
[title] [display-order] [price] [category]
a. Yamazaki Whisky 12yr 2,900 JPY Whisky
b. MOUTON CADET BLANC 1 1,800 JPY Wine
c. California Merlot Duckhorn 2 4,800 JPY Wine

If yes, I need problem URL and access details with information about where you have added the code you shared with me.

*** Please make a FULL BACKUP of your database and website.***
I would also eventually need to request temporary access (WP-Admin and FTP) to your site. Preferably to a test site where the problem has been replicated if possible in order to be of better help and check if some configurations might need to be changed.

I would additionally need your permission to de- and re-activate Plugins and the Theme, and to change configurations on the site. This is also a reason the backup is really important. If you agree to this, please use the form fields I have enabled below to provide temporary access details (wp-admin and FTP).

I have set the next reply to private which means only you and I have access to it.

#1162698

Minesh
Supporter

Languages: English (English )

Timezone: Asia/Kolkata (GMT+05:30)

Well - when I try to access the wp-admin the page does not load and I get "403 Forbidden" error.

Could you please correct that and send me working wp-admin.

#1162755

Sorry for that.

The server was set denied access from outside Japan for default.
I just remove the flag, so that you can access from outside of Japan.

Best regards.

#1162794

Minesh
Supporter

Languages: English (English )

Timezone: Asia/Kolkata (GMT+05:30)

Thank you - wp-admin access details works now.

Just wanted to ensure - could you please share the file path where you added the code you shared and again to ensure your expected results.

#1162901

Thanks!

[PATH]

/home/pep-test/www/chasai-xiexie.jp/acms/wp-content/themes/chasai-xiexie.jp/

[FILE]

taxonomy-carte-cat.php
#1163529

Minesh
Supporter

Languages: English (English )

Timezone: Asia/Kolkata (GMT+05:30)

Thank you for sharing the file path.

Now, I'm on this page:
=> hidden link

You want to order the list items displayed at top of the page - correct? as I see the display-order field is connected with post type "carte-item" - correct?

#1164625

Thank you for your rapid response, and sorry for my late response! 🙂

Yes, the "dsplay-order" is connected to "carte-item", sure.

Could you please see the following page:
hidden link

Currently there are no items (carte-items) displayed within this page.
This is the page where I am getting headache on.

Sincerely,
KC

#1164648

Minesh
Supporter

Languages: English (English )

Timezone: Asia/Kolkata (GMT+05:30)

Well - its not showing any results on the following page:
=> hidden link

The above you are loading is for term ID 36 and when I check the term ID 36 - there is no posts assigned with this term ID. Please check following screenshot:
=> hidden link

That is why its not displaying any results. What if you try to assign a post to this term and load the above page again. It should work.

#1164793

Hello,

Yes, I have checked and noticed that there is no items selected for that term.
So that I have re-categorized for the targeted term. Unfortunately, the results does not show any changes.

hidden link

Sincerely,
KC