2014-02-12 4 views
0

동일한 서버의 외부 페이지에 두 개의 서로 다른 WordPress 블로그의 정보를 표시하려고합니다. 모든 것이 잘 작동하는 것 같습니다. 첫 번째 블로그의 정보가 먼저 요청되고 제대로 표시됩니다.동일한 외부 페이지에있는 두 개의 다른 WordPress 블로그의 데이터 표시

그러나 첫 번째 루프 (첫 번째 블로그의 정보)가 시작되면 두 번째 루프에 영향을 미치지 않습니다. 따라서 두 번째 블로그 (블로그의 마지막 게시물)의 두 번째 정보 요청은 첫 번째 블로그의 정보를 반환합니다.

실제로 동일한 페이지에서 wp-blog-header.php의 다른 경로를 사용하여 require('./wp-blog-header.php');을 여러 번 사용할 수 있습니까? 내가 처음 루프를 사용하지 않으면

<?php 
define('WP_USE_THEMES', false); 
require_once('../path1/wp-blog-header.php'); 
$posts = get_posts('numberposts=4'); 
foreach ($posts as $post) : setup_postdata($post); 
echo '<li><a href="'; 
the_permalink(); 
echo '" title="'; 
the_title(); 
echo '" target="_blank">'; 
the_post_thumbnail('thumbnail'); 
echo '</a></li>'; 
endforeach; 
?> 
[...] 
<?php 
define('WP_USE_THEMES', false); 
require_once('../path2/wp-blog-header.php'); 
$posts = get_posts('numberposts=1'); 
foreach ($posts as $post) : setup_postdata($post); 
echo '<h2>'; 
the_title(); 
echo '</h2><p>'; 
the_excerpt(); 
echo '</p>'; 
endforeach; 
?> 

가, 두 번째 루프는 잘 작동하고 두 번째 블로그에서 정보를 가져옵니다

내가 지금까지 가지고있는 소스입니다. 첫 번째 루프가 활성화 된 경우 두 번째 루프는 첫 번째 블로그의 정보를 표시합니다.

이 문제에 대한 정보는없는 것 같습니다. 나는 PHP에 초보자이다.

도움 주셔서 감사합니다.

이반

답변

0

헤더를 여러 번 사용하려면

require_once('./wp-blog-header.php') 

이 첫 번째 루프의 게시물 데이터가 표시되지 않습니다 이것에 의해, 내가 each_connect와 UR 코드를 편집 한 편집 사용해야합니다 다음 루프.

<?php 
$posts = new WP_query(); 
// Find connected pages (for all posts) 
p2p_type('posts')->each_connected($wp_query); 
? 

<?php 
require_once('../path1/wp-blog-header.php'); 
$posts->query('numberposts=4'); 
while ($wp_query->have_posts()) : $wp_query->the_post(); 
foreach ($post->connected as $post) : setup_postdata($post); 
echo '<li><a href="'; 
the_permalink(); 
echo '" title="'; 
the_title(); 
echo '" target="_blank">'; 
the_post_thumbnail('thumbnail'); 
echo '</a></li>'; 
endforeach; 
wp_reset_postdata(); // set $post back to original post 
endwhile; 
?> 
[...] 
<?php 
require_once('../path2/wp-blog-header.php'); 
$posts->query('numberposts=1'); 
while ($wp_query->have_posts()) : $wp_query->the_post(); 
foreach ($post->connected as $post) : setup_postdata($post); 
echo '<li><a href="'; 
the_permalink(); 
echo '" title="'; 
the_title(); 
echo '" target="_blank">'; 
the_post_thumbnail('thumbnail'); 
echo '</a></li>'; 
endforeach; 
wp_reset_postdata(); // set $post back to original post 
endwhile; 
?> 
+0

감사합니다. Amirtha! 업데이트 된 질문을 참조하십시오. 나는 지금까지 가지고있는 코드를 추가했다. 나는 require와 require_once를 시도했지만 여전히 작동하지 않습니다. – ralchev

+0

첫 번째 루프가 끝난 후 또는 다음 루프의 시작 부분에있는 'require_once()'메소드 앞에'wp_reset_postdata();를 사용해보십시오. –

+0

시도했지만 작동하지 않습니다. 'wp_reset_query();도 시도했습니다. ( – ralchev

0

서로 다른 디렉토리에 있어야하므로 다른 디렉토리의 경로를 제공하면 문제가되지 않습니다.

+0

고마워!) 지금까지 가지고있는 코드로 내 질문을 업데이트했습니다. 두 블로그는 두 개의 다른 디렉토리에 있습니다. – ralchev

관련 문제