2012-04-30 10 views
0

私は現時点では本当に面倒な問題を抱えています。 私はjqueryアイソトープを使用して画像の水平グリッドをdivでラップし、すべてwordpressで実行しています。それはしばらくの間完璧に動作しています。これは、特定のカテゴリの各子カテゴリの最初の投稿からのおすすめ画像を表示するページです。 メーソンリーグリッドが正しく動作するように、私は各画像から画像サイズを取得し、divタグにインラインCSSスタイルとしてPHPを使用しています。私が言ったように、完璧に働いています。ワードプレスとアイソトープの石積みが突然乱れる

突然、自分のサイトで実際に負荷のかかる時間が発生しています。ページが読み込まれると、グリッドがすべて乱れてしまいます。同位体元素のいくつかは正しい場所にありますが、いくつかは完全に消滅します。ソースコードのチェック私は、 "off"要素がインラインCSSで印刷されていないことを知ることができます - 彼らはPHPを介して取得するはずだった数字。これは、ページの読み込みごとにdivがオフになる完全にランダムなようです。彼らはいつも正しい場所にいます。しかし、最近では、ほとんどの場合、3つの島が離れることが多い。

私はwordpress 3.3.2にアップグレードしました。問題はアップグレードの前後にあります。

私のホスティングサービスは、それが彼らの問題であることを認めません。私は突然サイトが台無しになったときに何かを変更していないので、これを信じるのが難しいです。

新しいバージョンにアップグレードした後でも、Wordpressのインストールが突然混乱する可能性がありますか?

これは私がグリッド全体の作業を取得するために使用しているコードです:ページ全体の負荷が過度に遅くなりますスクリプトで明らかに問題がある場合は、誰が言うことができる

$args=array(
    'child_of' => '50', 
    'orderby' => 'name', 
    'order' => 'DESC' 
); 
$categories=get_categories($args); 
    foreach($categories as $category) { 
     $posts=get_posts('showposts=1&cat='. $category->term_id); 
     if ($posts) { 
     foreach($posts as $post) { 
      setup_postdata($post); 

     ?> 
     <a class="thumblink" href="<?php the_permalink();?>"> 
     <?php 
      if (has_post_thumbnail()) { // check if the post has a Post Thumbnail assigned to it. 
       $thumbsize = get_post_custom_values("thumbsize"); // retrieve the wished thumb size, designated in the custom field 
       if ($thumbsize[0] >= 1 && $thumbsize[0] <= 6) { // if the thumb size is in the 1 to 6... 
      $imglink = wp_get_attachment_image_src(get_post_thumbnail_id(), $thumbsize[0]); 
      $size = getimagesize($imglink[0]); // get the width and height of the image in order to work properly with masonry 
      echo "<div class='thumbdiv masonrythumb hashover' style='width:$size[0]px;height:$size[1]px'>"; 
      echo "<div class='hoverobject'>"; //superimposes the content of the post on top of the image on hover 
      the_content(); 
      echo "</div>"; 
      the_post_thumbnail($thumbsize[0], array('class' => '' , 'title' => '')); // use the designated thumb size 
      echo "</div>"; 
      } 
      } 
    ?> 
    </a> 




     } // foreach($posts 
     } // if ($posts 
    } // foreach($categories 

を?

私を助けることができるかもしれない皆さん、本当にありがとうございます。私はこの上に私の髪を引っ張っています。私は正直なところ、働いていたことが突然仕事を止めることがあるのか​​理解していません。

答えて

0

私は自分自身でこれを解決したようです。

私はページの先頭に何が入っているのかよくわかりませんが、2つの機能wp_get_attachment_image_src()getimagesize()がどういうわけかお互いのやり方をしているようです。さて、ドキュメントを正しく読んだら、wp_get_attachment_image_src()関数はimgソースと幅と高さの両方を持つ配列を返すので、getimagesize()関数は必要ありません。

サイトがすぐに素早く素早く読み込まれ、DOMがうまくいきません。

0

foreach文が何度も実行されているので(ゆっくりした「ロード」時間)、DOM出力に予期しない結果が生じているようです。最後の三つのコード行をPHPで置き、最後のリンクをエコーし​​ます。

echo "</a>"; 
    } // foreach $posts 
} // if $posts 
} // foreach $categories 
?> 

また、あなたがちょうどあなたのエンディングのリンクタグの下に<?phpを追加することができます。このように。これが動作するかどうか私に教えてください。

+0

お返事ありがとうございました。しかし、うまくいきませんでした。 私はphpのechoタグに開閉タグを入れました。これは同じです。 他のアイデアはありますか? – alxvo

+0

あなたのforeach文とif文の両方の閉じ括弧もphpに入れてください。あなたのテーマがどのように設定されているかによって、これは重要なことになります。もしそうなら、いくつかの種類の終了タグがないこのコードの前に何かがあるはずです。あなたのfunctions.phpとあなたのheader.phpを慎重に調べてください。また、最初の開始タグと最後に閉じるPHPタグの前後に空白がないことを確認してください。 – jkhedani

+0

こんにちは。閉じ括弧はPHP内で正しくネストされているようです。 これは、誰かが何かに触れずに突然うんざりするまで、ページが長い間偉大な働きをしていることを実際には説明していません。 それでも、絶え間なく働くことができます。 私はWordPressのサイトに他のカテゴリのページもあります。これは本当に不思議です。 – alxvo