2013-05-02 2 views
-1

Я был дизайнером по профессии в течение многих лет, но я работаю с WordPress для клиента, и мне удалось справиться с работой с крючками ... Я, однако, сейчас в тупике.Код, нарушенный в определенном порядке

На главной странице у меня есть две области, которые будут тянущие информацию из базы данных:

<?php 
    $thumb_posts = get_posts(array('category' => '6', 'orderby' => 'rand', 'numberposts' => 2, 'meta_key' => '_thumbnail_id')); 
if($thumb_posts) { ?> 
<?php foreach($thumb_posts as $post) { 
echo '<div class="feature"><div class="thumbnail"> 
<a href="' . get_permalink($header_thumb->ID) . '">' . get_the_post_thumbnail($header_thumb->ID,array(240,170)) . '</a></div>'; 
$url = get_permalink($post->ID); 
$filecontent = file_get_contents('https://graph.facebook.com/?ids=' . $url); 
$json = json_decode($filecontent); 
$count = $json->$url->comments; 
if ($count == 0 || !isset($count)) { 
$count = '0'; 
} elseif ($count == 1) { 
$count = '1'; 
} else { 
$count .= ''; 
} 
echo '<h3 class="title"> <a href="' . get_permalink($header_thumb->ID) . '#comments"  class="comments">' . $count . '</a> <a href="' . get_permalink($header_thumb->ID) . '"> ' . get_the_title($ID) . ' </a> </h3></div>'; 
} ?> 

который я не писал, но называет facebook комментарий счетчик случайного пост с заголовком и миниатюрами.

Вот моя проблема ... Как только я поместил свой второй код ПОСЛЕ этого, он отбрасывает отсчет/изображение. Однако, если я положу этот код, все будет отлично.

<?php 
$thumb_posts = get_posts(array('category' => '6', 'orderby' => 'rand', 'numberposts' => 2, 'meta_key' => '_thumbnail_id')); 
if($thumb_posts) { 
?> 

<?php 
global $post; 
$myposts = get_posts('numberposts=20'); 
foreach($myposts as $post) : 
?> 
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> | 
<span class="post-info"> <?php echo human_time_diff(get_the_time('U'), 
current_time('timestamp')) . ' ago'; ?> </span></li> 
<?php endforeach; ?> 

В моем мыслительном процессе, мне нужно как-то сделать так, второй код не как-то скидывать первый независимый код.

+0

Есть ли у PHP отладчик, который вы могли бы использовать для проверки того, какие переменные перетаскиваются? – Patashu

+0

Я делаю ставку на '$ post', когда склеивают случайные скрипты вместе, проверяем имена переменных – 2013-05-02 22:59:05

+0

Я согласен с тем, что вы говорите. Я уверен, что я делаю все самое чистое, но могу ли я каким-то образом создать эти два скрипта в функциях выше крючка, а затем назвать их в указанной области? –

ответ

1

Это не «вытягивать из одних и тех же параметров» из-за этого набора строк:

global $post; 
$myposts = get_posts('numberposts=20'); 
foreach($myposts as $post) : 

В порядке:

  1. Делая global $post, вы грузоподъемных ссылку на глобальную переменную $post набор Wordpress в ваш объем. $post представляет текущее сообщение.
  2. Затем вы получаете количество сообщений из WP и устанавливаете его как $myposts. Это отлично.
  3. Что такое NOT Прекрасно, однако, это то, что вы затем перебираете $myposts с уникальным элементом $post. Это последнее назначение заставляет Wordpress глобально $post быть сброшенным и развращает все остальное.

Рассмотрим делать это вместо:

<?php 
global $post; 
$myposts = get_posts('numberposts=20'); 
foreach($myposts as $current_post) : 
?> 

Это не изменяет глобальный охват на всех, что, где Wordpress сохраняет несколько вещей.

Смежные вопросы