wp_query по названию

У меня есть заголовки, которые начинаются с цены, например: $ 199,900 – 123 Street. Я использую приведенный ниже код, и я не могу получить порядок по названию, чтобы он работал правильно. Любые предложения, пожалуйста.

<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'cat' =>21, 'posts_per_page' => 999999, 'paged' => $paged, 'orderby' => 'title', 'order' => 'ASC', ); $the_query = new WP_Query($args); ?> <div id="listings"> <?php if ($the_query->have_posts()) : ?> <?php while ($the_query->have_posts()): $the_query->the_post(); ?> <div <?php post_class() ?> id="post-<?php the_ID(); ?>"> <div class="title1 active_listing"> <?php if (in_category('6')) { the_title(); } else { ?> <a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a> <?php } ?> </div> <div class="alignleft thumb"><?php the_post_thumbnail('thumbnail'); ?> <br /> </div> <div class="content"><?php the_excerpt(); ?> </div> <?php if (in_category('6')) { ?> <br /> <?php } else { ?> <a href="<?php the_permalink() ?>" rel="bookmark"> View Details</a> <br /> <?php } ?> </div> <?php endwhile; wp_reset_postdata();?> <?php else : ?> <h2 class="center">Not Found</h2> <p class="center">Sorry, but you are looking for something that isn't here.</p> <?php get_search_form(); ?> <?php endif; ?> </div> 

Если вы пытаетесь заставить их заказывать по возрастающей цене, проблема в том, что упорядочение по названию – это сравнение строк, а не числовое. Решение заключалось бы в том, чтобы поместить цену в настраиваемое поле и упорядочить по своему пользовательскому полю, а не по типу. Вы добавили бы параметр meta_key с именем вашего мета-ключа и meta_value_num . См. WP_Query в Codex для получения дополнительной информации.

Кроме того, если вы хотите, чтобы все сообщения были возвращены (что я предполагаю, это то, что вы пытаетесь сделать с установкой его на такое большое число), вы можете установить posts_per_page на -1 вместо этого, и он удалит предложение LIMIT из запроса.