Supporto » Varie ed eventuali » Impaginazione Home e Categorie

  • Risolto divano

    (@divano)


    Ciao,

    ho notato che nonostante da impostazioni di Lettura la Home sia statica, viene comunque creata ed indicizza l’impaginazione della stessa con url “home/page/2/../3/..” ed elenco di tutti gli articoli presenti nel sito, effetto che ritengo inutile e controproducente, in quanto di fatto, vengono riproposti i post già consultabili nelle Categorie, sia a pagina singola mediante effetto “Ajax loading infinity”, sia tramite numerazione identica alla suddetta “/page/2/…”.

    Appurato che non dipende dal tema specifico, poiché se disattivato e sostituito da Twenty One nulla cambia, ho tentato varie soluzioni al fine di evitare l’impaginazione nella Home, compresa l’impostazione “nopaging” sulle variabili “is_home” e “is_front_page”, ma niente mi ha permesso di raggiungere l’obiettivo, se non la seguente istruzione, la quale però elimina l’impaginazione a livello globale, com’è facilmente riscontrabile, quindi chiedo se è possibile modificarla in modo tale che non vada ad interessare le Categorie.

    Ringrazio anticipatamente per eventuali suggerimenti.

    global $posts, $numpages;
    
        $request_uri = $_SERVER['REQUEST_URI'];
    
        $result = preg_match('%\/(\d)+(\/)?$%', $request_uri, $matches);
    
        $ordinal = $result ? intval($matches[1]) : FALSE;
    
        if(is_numeric($ordinal)) {
    
            setup_postdata($posts[0]);
    
            $redirect_to = ($ordinal < 2) ? '/': (($ordinal > $numpages) ? "/$numpages/" : FALSE);
    
            if(is_string($redirect_to)) {
    
                $redirect_url = get_option('home') . preg_replace('%'.$matches[0].'%', $redirect_to, $request_uri);
    
                if($ordinal < 2) {
                    header($_SERVER['SERVER_PROTOCOL'] . ' 301 Moved Permanently');
                } else {
                    header($_SERVER['SERVER_PROTOCOL'] . ' 302 Found');
                }
    
                header("Location: $redirect_url");
                exit();
    
            }
        }
Stai visualizzando 7 risposte - dal 1 al 7 (di 7 totali)
  • Ciao @divano,

    Sono Matteo, piacere di assisterti nella tua richiesta.

    Non ho capito la tua casistica sinceramente. La tua descrizione mi ha confuso un pochino. La home page statica è, appunto, statica. Una pagina unica con sopra ciò che vuoi. Mi mandi una spiegazione step-by-step su come ripetere il problema? Inoltre, per favore metti in “Pagina su cui hai bisogno di assistenza” un link sul tuo sito, in modo da poter io stesso ripetere il problema, replicarlo e poterti aiutare.

    Resto in attesa di tuoi aggiornamenti.

    Un saluto,
    Matteo

    Chi ha creato la discussione divano

    (@divano)

    Ciao @matteospi,

    Grazie per l’intervento.
    In realtà non saprei quali informazioni fornirti per “ripetere il problema”, poiché quanto posso dire è che in Impostazioni -> Lettura, è selezionata “una pagina statica” sulla Home Page ed il resto lasciato come default, ma se digito url https://nomesito/page/2/ o superiori si apre appunto la seconda pagina con elencati 10 articoli e numerazione in basso per continuare la navigazione. Lo stesso accade nelle categorie (https://nomesito/categoria/2…3…4…/), tuttavia se per queste ha senso, nel caso della Home credo sia persino controproducente, anche considerando che ciascuna pagina, sebbene con il proprio url canonico, viene da Google indicizzata.

    La suddetta funzione riesce ad ovviare all’inconveniente creando una redirezione, ma agisce tutto il sito, mentre vorrei interessasse unicamente la Home Page, lasciando paginazione alle sole categorie.

    Nel tema (Publisher) ho trovato le seguenti stringhe, però non essendo esperto di PHP, non sono sicuro circa la loro incidenza e casomai, come modificarle:

    function publisher_is_valid_pagination( $pagination ) {
    
    		return array_key_exists( $pagination, publisher_pagination_option_list() );
    	} // publisher_is_valid_pagination
    } // if
    
    if ( ! function_exists( 'publisher_get_pagination_style' ) ) {
    	/**
    	 * Used to get current page pagination style
    	 */
    	function publisher_get_pagination_style() {
    
    		// Return from cache
    		if ( publisher_get_global( 'page-pagination' ) ) {
    			return publisher_get_global( 'page-pagination' );
    		}
    
    		$pagination = 'default';
    
    		$paged = bf_get_query_var_paged();
    
    		// Homepage pagination
    		if ( is_home() || ( ( 'page' === get_option( 'show_on_front' ) ) && is_front_page() && bf_get_query_var_paged( 1 ) > 1 ) ) {
    			$pagination = publisher_get_option( 'home_pagination_type' );
    		}
    // Generate layout settings
    $layout_setting = publisher_get_page_layout_setting();
    
    if ( ( 'page' == get_option( 'show_on_front' ) ) && is_front_page() && bf_get_query_var_paged( 1 ) > 1 ) {
    	$content_type = 'front paginated';
    } elseif ( publisher_is_singular() ) {
    	$content_type = 'singular';
    } // Other pages template
    else {
    	$content_type = 'archive';
    }
    
    Matteo S.

    (@matteospi)

    Come ti dicevo, mi servirebbe tu inviassi il link del tuo sito qui.

    Chi ha creato la discussione divano

    (@divano)

    Capisco, ma si tratta di un sito non di mia proprietà e non ho autorizzazione a divulgarne l’url.

    Grazie infinite comunque.

    Matteo S.

    (@matteospi)

    Tuttavia, io personalmente non sono riuscito a replicare il problema su altri siti, @divano. Per cui dovrei vedere sul tuo sito. Se lo indichi nella sezione “sito di assistenza” lo vedranno solo gli iscritti al forum. Altrimenti mi dispiace, ma non penso ci sia molto altro da fare.

    Ho appena provato usando un sito di test, e io vedo correttamente, nella seconda pagina https://itechblog.local/demo/page/2/. Per cui dovremmo capire correttamente perchè sul tuo sito appare in questo modo. Manda qui il link, poi se vorrai lo potrai cancellare.

    Chi ha creato la discussione divano

    (@divano)

    Salve @matteospi,

    il mio intento era di reindirizzare alla home l’impaginazione della stessa, lasciandone il funzionamento nel resto del sito e poche ore fa ho finalmente raggiunto l’obiettivo dandone istruzione con “header(Location:…)”, dove il tema in uso utilizzava un, evidentemente inefficace, “disable”.

    Comunque sia grazie per la cortesia ed estrema disponibilità.

    Matteo S.

    (@matteospi)

    Ciao @divano,

    Mi sa che non avevo capito bene il problema allora. Avevo capito che nel link non era indicata la home page, e quindi il risultato aspettato era ciò che ho mostrato prima.

    Per favore, fornisci con dettaglio la soluzione al problema, magari altra gente potrebbe trovare una soluzione grazie al tuo dubbio.

    A presto,
    Matteo S.

Stai visualizzando 7 risposte - dal 1 al 7 (di 7 totali)
  • Devi essere collegato per rispondere a questo topic.