0

現在、ページに非常に苛立たしい問題があります。私はjqueryアイソトープを使用して、divでラップされた画像の水平グリッドを作成し、すべてワードプレスで実行しています。それはかなり長い間完璧に働いています。これは、特定のカテゴリの各子カテゴリの最初の投稿からの注目の画像を表示するページです。組積造グリッドが正しく機能するために、私はphpを使用して各画像から画像サイズを取得し、インラインcssスタイルとしてdivタグに配置しました。私が言ったように、それは完璧に機能しています。

突然、サイトの読み込み時間が非常に悪くなり、ページが読み込まれると、グリッドがすべて台無しになります。一部の同位体元素は適切な場所にありますが、一部は完全にオフになっています。ソースコードを確認すると、「オフ」要素のサイズがインライン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

ページ全体の読み込みが極端に遅くなるスクリプトに明らかな問題があるかどうかを誰かが知ることができますか?

私を助けてくれるかもしれない皆さん、どうもありがとうございました。私はこれの上に髪を引っ張っています。正直なところ、機能していたものが突然機能しなくなる可能性があることを理解していません。

4

2 に答える 2

0

興味のある人には、私はこれを自分で解決したようです。

そもそも何がページを台無しにしたのかよくわかりませんが、2 つの機能wp_get_attachment_image_src()getimagesize()どうにかして互いに邪魔をしているように見えます。さて、ドキュメントを適切に読んだところ、wp_get_attachment_image_src()関数は img ソースと幅と高さの両方を含む配列を返すことがわかったので、getimagesize()関数は必要ありません。

DOM が台無しになることなく、サイトがすばやく適切に読み込まれるようになりました。

于 2012-05-05T09:33:35.347 に答える
0

foreach ステートメントが何度も実行されているように思えます (したがって、「読み込み」時間が遅い) ため、DOM 出力に予期しない結果が生じています。終了ブラケット (コードの最後の 3 行) を PHP に配置し、最後のリンクをエコーするだけです。このような:

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

<?phpまたは、終了リンク タグのすぐ下に追加することもできます。これがうまくいくかどうか教えてください。

于 2012-05-01T00:15:56.123 に答える