Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2015
    Messaggi
    23

    [WORDPRESS] Paginazione in php

    Premetto che non conosco wordpress né ho intenzione di studiarlo, ma purtroppo ho la necessità di intervenire su un sito realizzato da altri.

    Per questo motivo sdegnando i puristi ho installato il plugin PHP Code For Posts che consente di inserire codice php in pagine e articoli.

    Ho alcune pagine, dove utilizzo php, nelle quali carico post selezionandoli con
    Codice PHP:
    get_posts('posts_per_page=-1&category=3'); 
    dove ho bisogno di usare <!--nextpage-->, il quale però genera un errore di parsing. Premetto che nelle pagine senza codice php, <!--nextpage--> funziona senza problemi.

    Potete indicarmi come utilizzarlo correttamente o in alternativa come ottenere la paginazione?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Ciao, get_posts() così come scritto, dovrebbe estrarre tutti i post di categoria con ID 3 senza limite per pagina.
    Il tag/commento <!--nextpage--> così su due piedi presumo funzioni se messo al di fuori dei tag PHP o forse addirittura solo se usato inserendolo nella textarea per creare articoli o pagine.

    Questi link potrebbero esserti d'aiuto:

    https://codex.wordpress.org/Styling_Page-Links
    https://codex.wordpress.org/Next_and_Previous_Links

    In quest'ultimo link viene mostrato un esempio di quello che forse potrebbe fare il caso tuo(se non ho capito male)
    http://diythemes.com/thesis/rtfm/nex...rdpress-posts/

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2015
    Messaggi
    23
    Grazie m4rko80,

    è proprio quello che vorrei ottenere, ma forse devo spiegare meglio il mio problema.

    Il plugin che permette di inserire codice php nelle pagine non riesce a interpretare correttamente il tag <!--nextpage-> a causa della sequenza di caratteri <!--

    Quindi vorrei sapere se esiste una funzione php che sostituisca <!--nextpage--> o se c'è un sistema per fare l'escape di <!--.

    Ovviamente inserisco <!--nextpage--> nella textarea della pagina, all'esterno del codice php:

    Codice PHP:
    $post_per_pagina = 4;
    $sequenza_post = 0;
    $tutti_posts = get_posts('posts_per_page=-1&category=3');
      foreach($tutti_posts as $post) :
        
        setup_postdata($post);

        $contenuto = strlen($post->post_content) > 500 ?
            substr($post->post_content, 0, 500) . ' <a href="' . get_the_permalink($post) .  '"title="continua"> &hellip;</a>' :
            $post->post_content;

    if ($sequenza_post++ > 0 && $sequenza_post % $post_per_pagina == 0) {
    ?>

     Qui andrebbe <!--nextpage-->

    <?php
    }
    ?>

    <div class="separatore-post">
      <h2><a href="<?php echo the_permalink($post); ?>"><?php echo get_the_title($post->ID); ?></a></h2>
      <div class="data"><?php echo $post->post_modified?></div>
      <div class="contenuto"><br/>
        <?php echo strip_shortcodes($contenuto); ?>
      </div>
    <?php
      
    if(has_post_thumbnail($post->ID)) {
    ?>
      <div class="immagine-post"><a href="<?php echo the_permalink($post); ?>">
    <?php
      
    echo strip_shortcodes(get_the_post_thumbnail$post->ID'medium' ));
    ?>
      </a></div>
    <?php
      
    }
    ?>
    </div>
    <?php
      
    endforeach;
    ?>

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Non vorrrei NextPage fosse utilizzabile solo dalla textarea del editor. Prova ad usare una funzione di WP per paginazione come negli esempi sopra. Prova quindi a sostituire con questo https://codex.wordpress.org/Function.../wp_link_pages

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2015
    Messaggi
    23
    Avevo già provato wp_link_pages, ma senza esito. Nella mia ignoranza ho creduto che servissero i dati sui post, per lo meno la quantità di post estratti, e che in una pagina personalizzata questi non fossero disponibili.

    Ti confermo che scrivo il codice nell'editor di wordpress esattamente dove si inseriscono i contenuti delle pagine o degli articoli, con il plugin che ho installato posso anche aggiungere codice php.

    Ti ringrazio tantissimo per l'aiuto che mi stai dando, e sono certo che arriveremo a una soluzione

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2015
    Messaggi
    23
    Ho risolto scrivendomi da solo una funzione per la paginazione. D'altra parte se voglio codice php nelle pagine allora devo utilizzarlo.

    Però resto convinto che esiste un sistema per richiamare le funzioni di paginazione di wordpress, mi interesserebbe conoscerlo.

    Grazie mille per l'aiuto.

  7. #7
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Guarda di esempi ce ne sono tanti, non avendo in mano il codice è difficile aiutare del tutto
    QUI ce ne sono altri. Per fare uscire la classica paginazione uno di questi dovrebbe bastare, probabilmente nel tuo codice custom ti è servito fare qualcosa di diverso.

  8. #8
    [CODE]
    function kriesi_pagination ($ pages = '', $ range = 2)
    {
    Showitems $ = ($ range * 2) +1;


    global $ paged;
    if (empty ($ paged)) $ paged = 1;


    if ($ pages == '')
    {
    global $ WP_Query;
    $ Pages = $ wp_query-> max_num_pages;
    if (! $ pages)
    {
    Pages = $ 1;
    }
    }


    if (1! = $ pages)
    {
    echo "<div class = ' pagination '> ";
    if ($ paged> 2 && $ paged> $ range + 1 && $ showitems <$ pages) echo" <a href ='. " get_pagenum_link (1). " '> & Laquo; </a>";
    if ($ paged> 1 && $ showitems <$ pages) echo "<a href ='." get_pagenum_link ($ paged - 1). " '> & Lsaquo; </a>";


    for ($ i = 1; $ i <= $ pages; $ i ++)
    {
    if (1! = $ Pages && (! ($ I> = $ paged range + $ + $ 1 || i <= $ $ paged- range-1) || $ pages <= $ showitems))
    {
    echo ($ paged == $ i)? "<Span class = 'current'>." $ I. "</ span>" "<a href='".get_pagenum_link($i)."' class='inactive'>". $ I. "</ a>";
    }
    }


    if ($ paged <$ pages && $ showitems <$ pages) echo "<a href = '." get_pagenum_link ($ paged + 1). " '> & Rsaquo; </a>";
    if ($ paged <$ pages-1 && $ paged + $ -range 1 <$ pages && $ showitems <$ pages) echo "<a href ='." get_pagenum_link ($ pages). " '> & Raquo; </a>";
    echo "</ div> \ n";
    }
    }
    [/ CODE]


    how to use

    [CODE] kriesi_pagination (); [/ CODE]

    This is the best example of work That I found.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.