2010-10-07 10 views
11

Mam małą sieć ustawień strony z funkcją wielu publikacji WordPress 3.0. Chciałbym stworzyć kolejną stronę, która ściąga określone posty z różnych innych witryn do wyświetlenia. Ta nowa witryna "hub" wydaje się być oddzielną witryną dla użytkownika (z mapowaniem domen), ale jej treść pochodzi z postów z innych stron.Jak mogę wyświetlać posty z innych stron w instalacji na wielu serwerach WordPress?

Jak mogę uzyskać posty z innej witryny w ramach instalacji na wielu serwerach WordPress? Czy mogę prosić o posty na podstawie nazwy strony? Końcowym wynikiem musi być zbiór postów z różnych stron posortowanych według daty.

Dzięki za pomoc.

Odpowiedz

2

Nie byłoby to bardzo trudne do skonfigurowania z bezpośrednimi połączeniami z bazami danych. Możesz wysyłać zapytania do postów z dowolnej witryny podczas instalacji za pomocą obiektu $ wpdb. Zobacz Displaying Posts Using a Custom Select Query, aby uzyskać informacje na temat używania niestandardowego zapytania do bazy danych, ale pamiętaj, że zamiast wybierać z $ wpdb-> wpisów, będziesz potrzebować dostępu do konkretnej tabeli serwisu, z której chcesz otrzymywać posty. Przy domyślnej instalacji Wordpress 3 będzie to wp_12_posts, gdzie 12 to identyfikator witryny. Identyfikator można znaleźć w tabeli wp_blogs lub patrząc na kolumnę ID w sekcji Sites w menu administratora.

17

miałem podobny problem, gdzie chciałem, aby uzyskać wiadomości z jednego bloga i wyświetlić go na inny wymyśliłem następujące rozwiązanie, które można zmodyfikować nieco do swoich potrzeb, jeśli potrzebne

<?php 
global $switched; 
switch_to_blog(2); //switched to 2 

// Get latest Post 
$latest_posts = get_posts('category=-3&numberposts=6&orderby=post_name&order=DSC'); 
$cnt =0;?> 
<ul> 
    <?php foreach($latest_posts as $post) : setup_postdata($post);?> 
    <li> 
     <a href="<?php echo get_page_link($post->ID); ?>" title="<?php echo $post->post_title; ?>"><?php echo short_title('...', 7); ?></a> 
    </li>         
    <?php endforeach ; ?> 

<?php restore_current_blog(); //switched back to main site ?> 

I Ograniczam również ilość wyrzucanych słów, jeśli nie chcesz, aby ta funkcja była łatwa w użyciu:

$post->post_title; 

Mam nadzieję, że pomoże.

+0

Należy również przeczytać [get_posts docs] (https://codex.wordpress.org/Function_Reference/setup_postdata); tam też są dobre przykłady. Sprawdź sekcję przykładów. – mhulse

+0

Nie wiedziałem o [http://codex.wordpress.org/WPMU_Functions/switch_to_blog] switch_to_blog(), dziękuję. – bjoster

Powiązane problemy