Multisite: poslední příspěvky

Ú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.

Aktuálně je na stránce zobrazeno 6 příspěvků - 1. až 6. (z celkem 6)
  • Autor
    Příspěvky
  • #21320

    Hanz17
    Participant
    Web

    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

    #21361

    admin
    Keymaster
    Web

    Patrně 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…

    #21370

    Hanz17
    Participant
    Web

    Ano 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(); ?>
    #21371

    Hanz17
    Participant
    Web

    Jen 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

    #21378

    Hanz17
    Participant
    Web

    Tak nakonec jsem ještě zkusil tu první možnost a tam jde offset normálně, takže problém už kompletně vyřešen.
    Pomáhá minimálně kód z odkazu 1 a 2 (trojku jsem nezkoušel). U dvojky však nejde v array offset.

    Snad to někomu pomůže :)

    #22883

    admin
    Keymaster
    Web

    Nedávno se objevil zajímavý nový plugin WP Central Posts Network, který má i různé možnosti nastavení…

Aktuálně je na stránce zobrazeno 6 příspěvků - 1. až 6. (z celkem 6)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti