Heb je een WordPress multisite en wil je op één (of meerdere) sites posts van een andere site binnen het multisite-netwerk tonen? Met onderstaande code kan je dit voor elkaar krijgen.

Lees ook: Een WordPress Multisite installeren

Site ID achterhalen

In onderstaand voorbeeld wordt een loop gemaakt van posts die zijn gemaakt in de website met blog_id 2. De ID van de site waar je de posts van wilt tonen kan je achterhalen door te gaan naar jouwsite.nl/wp-admin/network/sites.php. Klik vervolgens de site aan in de lijst, en in de adresbalk verschijnt dan achter de URL, bijvoorbeeld: /site-info.php?id=2. De ID van de site is in dit geval dus 2.

De ID van een site in een WordPress multisite achterhalen

Posts van een subsite ophalen met een loop

Met onderstaande code maak je een get_posts loop, welke je met parameters aan kan passen naar eigen wens. Dit voorbeeld is vrij basic, maar als je de loop meer wilt customizen, bekijk dan eens de WordPress documentatie.

Deze code kan je plaatsen in de paginatemplate(s) waar je wil dat deze posts verschijnen, bijvoorbeeld in index.php of page.php.

<?php
global $switched;
switch_to_blog(2); //switched to blog id 2
 
// Get latest Post
$args = array(
	'posts_per_page'   => -1, // Show all posts
	'orderby'          => 'date', // Order posts by date
	'order'            => 'DESC', // Show newest posts to oldest
	'post_type'        => 'post', // Default set to post
);
$latest_posts = get_posts( $args );
$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 $post->post_title; ?></a>
			</li>                                
 		<?php endforeach ; ?>
	</ul>
<?php restore_current_blog(); //switched back to main site ?>

Lees ook: Een WordPress Multisite installeren

Beoordeel deze post:

Gemiddeld: 0 / 5. Aantal beoordelingen: 0

Nog geen beoordelingen

Whoops! 😔

Zou je ons willen laten weten hoe we (deze post) kunnen verbeteren?