Úvodní stránka › Fórum podpory WordPressu › Pluginy (funkčnost webu) › Multisite: poslední příspěvky
Zvolené téma obsahuje celkem 5 odpovědí. Do diskuze (2 účastníci) se naposledy zapojil uživatel admin a poslední změna je stará 9 let.
-
AutorPříspěvky
-
16. prosince 2014 (19:00) #21320
Ahoj,
chtěl bych se zeptat, zdali nevíte, jak bych mohl nějak udělat to, aby se na stránce zobrazovali poslední příspěvky ze všech webů v multisite. Potřeboval bych na to nějaký kód, který by byl trochu podobný tomuto?switch_to_blog(2); $args = array( 'posts_per_page' => 1, 'offset' => 0, 'orderby' => 'post_date', 'order' => 'DESC', 'post_type' => 'post', 'post_status' => 'publish'); $myposts = get_posts( $args ); foreach ( $myposts as $post ) : setup_postdata( $post ); ?> ...
Potřeboval bych takto zobrazit jen poslední tři články, který bych pak dal do slideru.
Už používám tento plugin https://wordpress.org/plugins/network-latest-posts , který to řeší, ale neumím z něj vytáhnout potřebný kód pro to. A jeho k tomu použít nemůžu, neboť ho už používám pro normální zobrazení všech článků.Díky za rady
19. prosince 2014 (11:20) #21361Patrně jde o pokračování původního tématu?
Uvedený kód by měl víceméně fungovat, je tam nějaký problém? Něco podobného se řešilo také zde. Nebo chcete vlastně kombinaci nejnovějších příspěvků ze všech webů sítě?
Funkce z pluginu Network Latest Posts by mělo jít použít i na více místech, např. pomocí funkce
network_latest_posts()
, kam pouze doplníte potřebné parametry? I když pokud to vlastně potřebujete jen jako data pro slider, tak tím asi nezískáte ideální výstup pro další zpracování, ale už kompletní HTML…Multisite obecně nebyla navržena, aby ideálně fungovala požadovaným způsobem, ale nějaké možnosti samozřejmě existují, i když asi nejsou ideální. Po zběžném hledání bych se doporučil podívat na následující kódy: 1, 2 a 3. Další (možná nejjednodušší) možností je projít všechny weby pomocí funkce
switch_to_blog()
a získaná pole s příspěvky sloučit a seřadit podle data…19. prosince 2014 (17:46) #21370Ano je, omlouvám se, že jsem to nedal do toho topicu, ale nějak mě to tu chvíli nenapadlo :).
Jinak fakt děkuji za ty odkazy, respektive za ten druhý, který jsem použil a všechno funguje, jak má :). Což je super, takže ještě jednou opravdu moc díky! Zatím tam mám hrubý kód, ale takto to je funkční, pokud by někdo další chtěl pomoci.
<? $args = array( 'posts_per_page' => 10, 'offset' => 0, 'orderby' => 'post_date', 'order' => 'DESC', 'post_type' => 'post', 'post_status' => 'publish', 'sites' => array( 'sites__in' => array( 1, 2, 3, 5 ) ) ); $query = new WP_Query_Multisite( $args ); while( $query->have_posts() ) : $query->the_post(); ${'blog_url_'.$blog_key} = get_blog_option($blog_key,'siteurl'); $blog_odkaz = ${'blog_url_'.$blog_key} ; $image = wp_get_attachment_image_src( get_post_thumbnail_id(), 'medium' ); $imageURL = str_replace( 'http://sportzine.eu', $blog_odkaz, $image[0] ); $imageTag = '<img class="foto" src="' . $imageURL . '" alt="" height="' . $image[2] . '" width="222" height="126"/>'; ?> <div class="nadpis"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></div> <div class="foto"> <?php echo $imageTag ?></div> <div class="text"><?php echo excerpt(25); ?></div> <a class="tlacitko" href="<?php the_permalink(); ?>">Číst dále</a> <? restore_current_blog(); endwhile; wp_reset_postdata(); ?>
19. prosince 2014 (19:54) #21371Jen se zeptám je možné, že mi kvůli tomuto
sites' => array( 'sites__in' => array( 1, 2, 3, 5 )
nefunguje offset? Neboť to vůbec na to nereaguje… :D
21. prosince 2014 (10:57) #2137820. dubna 2015 (9:54) #22883Nedávno se objevil zajímavý nový plugin WP Central Posts Network, který má i různé možnosti nastavení…
-
AutorPříspěvky
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.