1

投稿のページについて質問があります。

カスタム投稿タイプとカスタムフィールド値に基づいて結果を返します。ここで、別のカスタムフィールドに基づいて結果を並べ替える機能を追加しました。

$loop = new WP_Query( array ( 'post_type' => 'new', 'orderby' => 'meta_value_num', 'meta_key' => 'over-length', 'meta_query' => array( array( 'key' => 'over-make', 'value' => 'Doral', 'compare' => 'LIKE') ) ) );

私は少し問題に遭遇しました。「over-length」というカスタムフィールドで結果を並べ替えていますが、投稿に「over-length」の値が含まれていない場合、結果から除外されているようです。

orderbyの値を持たない投稿が含まれるようにコードを変更するにはどうすればよいでしょうか。

また、回避策を考えただけですが、その方法がわかりません。「morefields」というプラグインを使用してカスタムフィールドを作成しています。'over-length'フィールドが空であるかどうかを確認し、0に設定する方が簡単でしょうか?もしそうなら、どうすればこれを行うことができますか。

アップデート

この問題についてもう少し詳しく調べました。'over-length'に値が指定されていない場合、カスタムフィールドはデータベースのwp_postmetaに追加されないようです。投稿に長すぎる値を指定した場合は、戻って削除すると、フィールドがデータベースにまだ存在するため、実際にはクエリに結果が含まれます。では、値があるかどうかにかかわらず、このカスタムフィールドをデータベースに入力するにはどうすればよいですか?

4

1 に答える 1

0

最後のリクエストについて - 空白のままでもすべての投稿に meta_key (カスタム フィールド) を追加する方法について:

私はこの種のプラグインCustom Fields Templateをよく使用します。これはあなたが使用しているもの (より多くのフィールド) に似ていますが、フィールドを操作する多くの可能性を提供します。この場合、最も重要なことは、隠しフィールドとデフォルト値を調整できることです。空白のままにした場合にフィールドが挿入されるように、おそらく default=' ' (スペース) を設定できます。または、もう少し作業を加えて、値が空であることを確認せずにすべてのフィールドを DB に挿入するようにプラグイン コードを変更します。CustomFieldsTemplate の場合、それを行うのは難しくありません。

于 2011-03-26T14:57:31.270 に答える