2012-04-30 2 views
0

저는 현재 페이지에 실망한 문제가 있습니다. jquery isotope를 사용하여 div의 래핑 된 이미지 가로 격자를 만들었습니다. 모두 wordpress에서 실행됩니다. 그것은 꽤 오랫동안 완벽하게 작동했습니다. 특정 카테고리의 각 하위 카테고리의 첫 번째 게시물에서 추천 이미지를 보여주는 페이지입니다. 벽돌 그리드가 제대로 작동하려면 PHP를 사용하여 각 이미지에서 이미지 크기를 가져 와서 div 태그에 인라인 CSS 스타일로 넣으십시오. 내가 말했듯이 그것은 완벽하게 작동했습니다.wordpress 및 isotope masonry 갑자기 엉망이 됨

갑자기 내 사이트에서로드 시간이 너무 길어지고 페이지가로드되면 그리드가 엉망이됩니다. 동위 원소 요소 중 일부는 올바른 위치에 있지만 일부는 완전히 사라질 것입니다. 소스 코드를 확인해 보면 "off"요소가 인라인 CSS에서 인쇄 된 크기를 얻지 못했다는 것을 알 수 있습니다.이 번호는 PHP를 통해 가져온 번호입니다. 각 페이지로드에서 div가 꺼지는 것은 완전히 임의적 인 것으로 보입니다. 때로는 그들이 모두 올바른 위치에있을 것입니다. 그러나 대부분의 경우 최근에 세 아이는 쉬게됩니다.

저는 워드 프레스 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

나는 관심이있는 누구에게나이 문제를 혼자서 해결 한 것 같습니다.

나는 무엇이 페이지를 처음부터 망쳤는지 잘 모르겠다. 그러나 나는 두 가지 기능이 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

안녕하십니까. 답장을 보내 주셔서 감사 드리며, 작동하지 않습니다. 저는 echo 대신 PHP에서 여는 a-tags와 닫는 a-tag를 넣었습니다. 다른 아이디어가 있습니까? – alxvo

+0

foreach 문과 if 문 양쪽 모두 닫는 대괄호도 PHP에 넣었는지 확인 했습니까? 테마 설정 방법에 따라 이것이 중요 할 수 있습니다. 그렇다면, 어떤 종류의 종료 태그가없는이 코드 앞에 뭔가가 있어야합니다. 조심스럽게 functions.php와 header.php를 검사하십시오. 또한 첫 번째 여는 PHP 태그와 마지막 닫는 PHP 태그 앞에 공백이 없도록하십시오. – jkhedani

+0

안녕하세요. 닫는 괄호는 모두 php에서 올바르게 중첩되어 있습니다. 어쨌든, 아무 래도 아무 것도 건드리지 않고 갑자기 엉망이 될 때까지 오랫동안 페이지가 잘 작동하는 방식을 설명하지 못했습니다. 그리고 계속해서 끊임없이 작동합니다. 나는 나의 워드 프레스 사이트에 다른 모든 카테고리 페이지도 가지고있다. 이것은 정말로 신비로운 일입니다. – alxvo

관련 문제