Пытается получить свойство сообщения об ошибке неактивного сообщения WordPress

Я запускаю действительно простые-facebook-twitter-share-buttons. Я разместил приведенный ниже код на своем сайте в качестве рекомендуемого плагина, который:

<div class="share"><?php echo really_simple_share_publish();?></div> 

Этот плагин работает со всем моим сайтом, за исключением того, что у меня есть страница пользовательской таксономии, которая вызывает следующую ошибку с плагином:

Примечание. Попытка получить свойство не-объекта в /home3/answr/public_html/wp-includes/post-template.php в строке 29

Я рассмотрел строку 29, и вот что я думаю, что происходит.

На моей странице таксономии есть два основных пользовательских запроса, встроенных в него, и два цикла wordpress. Эти запросы изменяют основной запрос wordpress для страницы.

Кажется, что если первый запрос не возвращает результаты, он вызывает ошибку выше, если плагин активен.

Однако, если первый запрос возвращает результаты, тогда нет ошибки, и плагин прекрасно работает, даже если второй запрос возвращает результаты.

И если плагин неактивен, я не получаю ошибку, возвращает ли первый запрос результаты или нет.

Вот мой код для справки. Я пытался решить это в течение некоторого времени, и у меня нет идей. У кого-нибудь есть идеи, что может вызвать эти проблемы или что я должен попытаться решить. Спасибо!

 <?php query_single('dealers', 'publish', '1', $taxtype, $value); ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <?php $address=get_post_meta($post->ID, 'wpcf-street_address', TRUE); $city=get_post_meta($post->ID, 'wpcf-city', TRUE); $state=get_post_meta($post->ID, 'wpcf-state_abbreviation', TRUE); $zip=get_post_meta($post->ID, 'wpcf-zip_code', TRUE); $phone=get_post_meta($post->ID, 'wpcf-phone_number', TRUE); $paid=get_post_meta($post->ID, 'wpcf-paid', TRUE); $post_id=get_the_ID(); get_each_dealer_brand($post_id);?> <?php echo "<ul class=\"ullisting\">"; if($paid==1) { echo "<li><p class=\"plisting\"><strong><a href=\"";the_permalink(); echo "\">";the_title();echo "</a></strong></p></li>"; echo "<li><p class=\"plisting\">$address | $city, $state $zip</p></li>"; echo "<li><p class=\"plisting\">P: $phone</p></li>"; echo "<li><p class=\"listing\"><span><small>$brands_list</small></span></p></li>"; } echo "</ul>"; ?> <?php endwhile; ?> <?php wp_reset_query(); wp_reset_postdata(); unset($brands_list); ?> <?php else : ?> <?php $paidnull="true"; ?> <?php endif; ?> <?php query_single('dealers', 'draft', '0', $taxtype, $value); ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <?php $address=get_post_meta($post->ID, 'wpcf-street_address', TRUE); $city=get_post_meta($post->ID, 'wpcf-city', TRUE); $state=get_post_meta($post->ID, 'wpcf-state_abbreviation', TRUE); $zip=get_post_meta($post->ID, 'wpcf-zip_code', TRUE); $phone=get_post_meta($post->ID, 'wpcf-phone_number', TRUE); $paid=get_post_meta($post->ID, 'wpcf-paid', TRUE); $post_id=get_the_ID(); get_each_dealer_brand($post_id); ?> <?php echo "<ul class=\"ullisting\">"; if($paid==0){ echo "<li><p class=\"plisting\"><strong>";the_title();echo "</strong></p></li>"; echo "<li><p class=\"plisting\">$address | $city, $state $zip</p></li>"; echo "<li><p class=\"plisting\">P: $phone</p></li>"; echo "<li><p class=\"listing\"><span><small>$brands_list</small></span></p></li>"; } echo "</ul>"; ?> <?php endwhile; ?> <?php /*Resets current query*/ wp_reset_query(); wp_reset_postdata(); unset($brands_list);?> <?php else : ?> <?php /*If there were no paid dealer and no non-paid dealers we must show a 404 error*/ if ($paidnull=="true") { echo "<h1 class=\"title\">There Are No Dealers Found for your Search</h1>"; echo "<p style=\"color:#F30\">Use the search below to search a different area</p>"; echo "<br />"; }?> <?php endif; ?> </div> с <?php query_single('dealers', 'publish', '1', $taxtype, $value); ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <?php $address=get_post_meta($post->ID, 'wpcf-street_address', TRUE); $city=get_post_meta($post->ID, 'wpcf-city', TRUE); $state=get_post_meta($post->ID, 'wpcf-state_abbreviation', TRUE); $zip=get_post_meta($post->ID, 'wpcf-zip_code', TRUE); $phone=get_post_meta($post->ID, 'wpcf-phone_number', TRUE); $paid=get_post_meta($post->ID, 'wpcf-paid', TRUE); $post_id=get_the_ID(); get_each_dealer_brand($post_id);?> <?php echo "<ul class=\"ullisting\">"; if($paid==1) { echo "<li><p class=\"plisting\"><strong><a href=\"";the_permalink(); echo "\">";the_title();echo "</a></strong></p></li>"; echo "<li><p class=\"plisting\">$address | $city, $state $zip</p></li>"; echo "<li><p class=\"plisting\">P: $phone</p></li>"; echo "<li><p class=\"listing\"><span><small>$brands_list</small></span></p></li>"; } echo "</ul>"; ?> <?php endwhile; ?> <?php wp_reset_query(); wp_reset_postdata(); unset($brands_list); ?> <?php else : ?> <?php $paidnull="true"; ?> <?php endif; ?> <?php query_single('dealers', 'draft', '0', $taxtype, $value); ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <?php $address=get_post_meta($post->ID, 'wpcf-street_address', TRUE); $city=get_post_meta($post->ID, 'wpcf-city', TRUE); $state=get_post_meta($post->ID, 'wpcf-state_abbreviation', TRUE); $zip=get_post_meta($post->ID, 'wpcf-zip_code', TRUE); $phone=get_post_meta($post->ID, 'wpcf-phone_number', TRUE); $paid=get_post_meta($post->ID, 'wpcf-paid', TRUE); $post_id=get_the_ID(); get_each_dealer_brand($post_id); ?> <?php echo "<ul class=\"ullisting\">"; if($paid==0){ echo "<li><p class=\"plisting\"><strong>";the_title();echo "</strong></p></li>"; echo "<li><p class=\"plisting\">$address | $city, $state $zip</p></li>"; echo "<li><p class=\"plisting\">P: $phone</p></li>"; echo "<li><p class=\"listing\"><span><small>$brands_list</small></span></p></li>"; } echo "</ul>"; ?> <?php endwhile; ?> <?php /*Resets current query*/ wp_reset_query(); wp_reset_postdata(); unset($brands_list);?> <?php else : ?> <?php /*If there were no paid dealer and no non-paid dealers we must show a 404 error*/ if ($paidnull=="true") { echo "<h1 class=\"title\">There Are No Dealers Found for your Search</h1>"; echo "<p style=\"color:#F30\">Use the search below to search a different area</p>"; echo "<br />"; }?> <?php endif; ?> </div> с <?php query_single('dealers', 'publish', '1', $taxtype, $value); ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <?php $address=get_post_meta($post->ID, 'wpcf-street_address', TRUE); $city=get_post_meta($post->ID, 'wpcf-city', TRUE); $state=get_post_meta($post->ID, 'wpcf-state_abbreviation', TRUE); $zip=get_post_meta($post->ID, 'wpcf-zip_code', TRUE); $phone=get_post_meta($post->ID, 'wpcf-phone_number', TRUE); $paid=get_post_meta($post->ID, 'wpcf-paid', TRUE); $post_id=get_the_ID(); get_each_dealer_brand($post_id);?> <?php echo "<ul class=\"ullisting\">"; if($paid==1) { echo "<li><p class=\"plisting\"><strong><a href=\"";the_permalink(); echo "\">";the_title();echo "</a></strong></p></li>"; echo "<li><p class=\"plisting\">$address | $city, $state $zip</p></li>"; echo "<li><p class=\"plisting\">P: $phone</p></li>"; echo "<li><p class=\"listing\"><span><small>$brands_list</small></span></p></li>"; } echo "</ul>"; ?> <?php endwhile; ?> <?php wp_reset_query(); wp_reset_postdata(); unset($brands_list); ?> <?php else : ?> <?php $paidnull="true"; ?> <?php endif; ?> <?php query_single('dealers', 'draft', '0', $taxtype, $value); ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <?php $address=get_post_meta($post->ID, 'wpcf-street_address', TRUE); $city=get_post_meta($post->ID, 'wpcf-city', TRUE); $state=get_post_meta($post->ID, 'wpcf-state_abbreviation', TRUE); $zip=get_post_meta($post->ID, 'wpcf-zip_code', TRUE); $phone=get_post_meta($post->ID, 'wpcf-phone_number', TRUE); $paid=get_post_meta($post->ID, 'wpcf-paid', TRUE); $post_id=get_the_ID(); get_each_dealer_brand($post_id); ?> <?php echo "<ul class=\"ullisting\">"; if($paid==0){ echo "<li><p class=\"plisting\"><strong>";the_title();echo "</strong></p></li>"; echo "<li><p class=\"plisting\">$address | $city, $state $zip</p></li>"; echo "<li><p class=\"plisting\">P: $phone</p></li>"; echo "<li><p class=\"listing\"><span><small>$brands_list</small></span></p></li>"; } echo "</ul>"; ?> <?php endwhile; ?> <?php /*Resets current query*/ wp_reset_query(); wp_reset_postdata(); unset($brands_list);?> <?php else : ?> <?php /*If there were no paid dealer and no non-paid dealers we must show a 404 error*/ if ($paidnull=="true") { echo "<h1 class=\"title\">There Are No Dealers Found for your Search</h1>"; echo "<p style=\"color:#F30\">Use the search below to search a different area</p>"; echo "<br />"; }?> <?php endif; ?> </div> 

Учитывая, что страница работает, если вы оставите исходный запрос самостоятельно, ваше решение довольно просто. Оставьте исходный запрос самостоятельно. Вам не нужно перезаписывать этот запрос, чтобы создать вторичные циклы. Вместо этого:

 query_single('dealers', 'publish', '1', $taxtype, $value); if (have_posts()) : while (have_posts()) : the_post(); 

Вы хотите:

 $myq = new WP_Query($args); if ($myq->have_posts()) : while ($myq->have_posts()) : $myq->the_post(); 

Вы можете сделать это столько раз, сколько хотите на странице, а не скрыть основной запрос. single_query том, что я не знаю, что такое single_query , и поэтому я не знаю точно, как выглядят $args . Учитывая, как работает код, я подозреваю, что single_query запускает query_posts , что сильно обескураживает. Он также может легко вернуть новый объект WP_Query для использования, если вы его WP_Query .

Справка

http://codex.wordpress.org/Class_Reference/WP_Query