4.2'den 4.4'e yükselttim ve şimdi sınıflandırma sorgum boş çıkıyor. Yükseltmeden önce iyi çalışıyor.
Özel posta türüm 'title'
tarafından kullanılan adlı özel bir sınıflandırma kaydettim 'sg-publications'
. WP şablon hiyerarşisini takiben, taxonomy-title.php
varsayılan sorgu argümanlarını kullanan adlı bir şablon oluşturdum ve şimdiye kadar her yayını başlığına göre doğru bir şekilde gösterdim.
İşte bu şablonda $ queried_object ve $ wp_query-> isteğinin çıktısı:
[queried_object] => WP_Term Object
(
[term_id] => 1256
[name] => Stroupe Scoop
[slug] => stroupe-scoop
[term_group] => 0
[term_taxonomy_id] => 1374
[taxonomy] => title
[description] =>
[parent] => 0
[count] => 30
[filter] => raw
)
[queried_object_id] => 1256
[request] =>
SELECT wp_posts.*
FROM wp_posts
INNER JOIN wp_term_relationships
ON (wp_posts.ID = wp_term_relationships.object_id)
WHERE 1=1
AND wp_posts.post_title = 'stroupe-scoop'
AND (
wp_term_relationships.term_taxonomy_id
IN (1374)
)
AND wp_posts.post_type = 'sg-publications'
AND (wp_posts.post_status = 'publish'
OR wp_posts.post_status = 'private'
)
GROUP BY wp_posts.ID
ORDER BY wp_posts.post_date
DESC
Yukarıdaki sorguda gördüğüm sorun hemen ardından WHERE 1=1
, bazı nedenlerle arıyor post_title = 'stroupe-scoop'
. Bu doğru değil - bu, sınıflandırma başlığı değil, sınıflandırma başlığıdır. Aslında, ben bu satır yorum ve veritabanına karşı çalıştırmak zaman uygun döner olsun. Peki, WP'ye bu durumu eklemesine neden olan şey nedir (4.4'e yükseltmeden önce eklemediğimde)?
Taksonomi-title.php:
<?php
/**
* @package WordPress
* @subpackage Chocolate
*/
global $wp_query;
$quer_object = get_queried_object();
$tax_desc = $quer_object->description;
$tax_name = $quer_object->name;
$tax_slug = $quer_object->slug;
get_header();
get_sidebar();
$title = get_the_title( $ID );
$args = array(
'menu' => 'new-publications',
'container' => 'div',
'container_id' => $tax_slug . '-menu',
'menu_class' => 'menu-top-style nav nav-tab',
'menu_id' => '',
'echo' => true,
'fallback_cb' => false,
'before' => '',
'after' => '',
'link_before' => '<i class="fa fa-chevron-circle-right fa-fw fa-2x"></i>',
'link_after' => '',
'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>',
'depth' => 0,
'walker' => ''
);
?>
<div id="page-title">
<h1><?php _e( 'Publications - ' . $tax_name, LANGUAGE_ZONE ); ?></h1>
<p><?php _e( 'View our monthly newsletter and stay informed on the latest real estate news.', LANGUAGE_ZONE ); ?></p>
<?php wp_nav_menu($args); ?>
</div>
<div id="multicol">
<?php
if ( have_posts() ) : while ( have_posts() ) : the_post();
get_template_part( 'loop' , 'title' );
endwhile;
endif;
?>
</div><!-- end #multicol -->
<section class="page-text well"><?php _e( $tax_desc, LANGUAGE_ZONE ); ?></section>
<?php
get_footer();
Ve function.php Bu sorgu filtresi var:
// use pre_get_posts to remove pagination from publications
function gd_publications_pagination( $query ) {
if ( is_admin() || ! $query->is_main_query() )
return;
if ( is_tax('title') ) {
// Display all posts for the taxonomy called 'title'
$query->set( 'posts_per_page', -1 );
return;
}
}
add_action( 'pre_get_posts', 'gd_publications_pagination', 1 );
taxonomy-title.php
? functions.php
Ana sorguda herhangi bir filtre olup olmadığını kontrol etmek için temaya baktınız mı?