Un utente ha chiesto informazioni su Developing with WordPress di Wordpress

Come risolvere il problema della funzione wordpress wp_get_archives ()

Un utente ha chiesto 👇

Ciao,

Ho creato un blog per ragazze in bikini su http://bikinigirlsgalore.com e ho un problema con la homepage.

Vedi, ho usato la funzione wp_get_archives () in basso per elencare i conteggi dei mesi e degli anni tra parentesi. L’output può essere visualizzato nella parte inferiore della sezione dei collegamenti sotto le miniature della home page.

Il problema è che quando clicco sul mese di aprile corrente (6). Ho davvero due problemi.

1. Le miniature sulla pagina di destinazione correl non si collegano più alle pagine dei post.

2. Il numero di miniature mostrato è solo 5, ma in realtà ho 6 post certificati con stato pubblicato.

per favore aiuta chiunque,

di seguito è il mio codice.

sidebar.php

<div class="row">
  <div class="col-sm-6"><nav class="navbar navbar-expand-sm bg-light">
  <!-- Links -->
  <?php $args = array(
	'type'            => 'monthly',
	'limit'           => '',
	'format'          => 'custom', 
	'before'          => '<li class="nav-item">',
	'after'           => '</li>',
	'show_post_count' => true,
	'echo'            => 1,
	'order'           => 'ASC',
        'post_type'     => 'post'
);
	  echo '<ul class="navbar-nav">';
	  wp_get_archives($args);
	  echo '</ul>';
?>
  <?php //wp_get_archives( 'type=monthly' ); ?>
  <?php //the_author_meta( 'description' ); ?>
  
</nav>
 </div>
  <div class="col-sm-6"><nav class="navbar navbar-expand-sm bg-light">
  <!-- Links -->
  <?php wp_list_pages( '&title_li=' ); ?>
</nav>
</div>
</div>

Lanciatore di thread

(@falsalarm)

2 anni, 10 mesi fa

Ho dimenticato di menzionare che il nome del mio post è attualmente sul mio sito permalink ma i post sulla pagina generata quando si fa clic sul mese sono 2/1 / nome del post

qual è un problema, come posso risolverlo?

(@alchymyth)

2 anni, 10 mesi fa

il tuo tema ha un file template archive.php o date.php?

in caso affermativo, quali sono i codici?
come crei i link (perma) per le miniature?

in caso contrario, come crei i collegamenti per le miniature in index.php?

Lanciatore di thread

(@falsalarm)

2 anni, 10 mesi fa

sotto c’è una copia del mio file index.php.


<?php get_header(); ?>

 </div> 
  <!-- A grey horizontal navbar that becomes vertical on small screens -->
 
  

<?php
//include the database file
//include 'database.php';

//$query = "SELECT * FROM wp_mnqhposts WHERE post_type='post'";

//echo $query;

//$result = mysqli_query($con, $query);

//if (mysqli_num_rows($result) > 0) {
//	while($row = mysqli_fetch_assoc($result)) {
//		//echo "post_title: " . $row['post_title'] . "<br>";
//		//echo "post_title: " . $row['post_title'] . "<br>";
//	}
// } else {
//	//echo "0 results";
// }
//mysqli_close($con);

//$fivesdrafts = $wpdb->get_results( 
//	"SELECT * FROM $wpdb->posts	WHERE id <= 60 && post_type='post' && post_title!='Auto Draft'"
//);        
//
//echo '<div class="row">';
//foreach ( $fivesdrafts as $fivesdraft )
//{
//	echo '<div class="col-sm-3" style="text-align:center;">';
//	//echo "<br>".print_r($fivesdraft);
//	echo '<h2><a href='.$fivesdraft->post_name.'>'.$fivesdraft->post_title.'</a></h2>';
//	//echo "<br><a href='.$fivesdraft->post_title.'>".$fivesdraft->post_title."</a>";
//	echo "<p>".$fivesdraft->post_content . "</p>";
//	echo wpautop( $fivesdraft->post_content );
//	echo '</div>';
//} 
//echo '</div>';
//?>
<?php
$args = array(
	'posts_per_page'   => -1,
	'orderby'          => 'date',
	'order'            => 'ASC',
);

	//$args = array($args);
	$posts_array = get_posts($args);
	echo '<div class="row">';
	//echo "<p>Found, " . count($posts_array) . "</p>";
	foreach($posts_array as $post)
	{
		echo '<div class="col-sm-3 border" style="text-align:center;">';
		echo "<h3 class='headers'><a href='" . $post->post_name ."'>" . $post->post_title . "</h3>";
		echo "<p>" . $post->post_content . "</p></a>";
		echo "</div>";
	}
echo '</div>';

?>
<?php get_sidebar(); ?>

<?php get_footer(); ?>

 
</body>
</html>

Non sono riuscito a trovare un modo per separare il testo e il testo dal contenuto del post, quindi ho fatto un piccolo trucco per piegare tutto etichetta.

Inoltre, ho creato il mio tema personalizzato ma non ho specificato affatto un file archive.php. Lo farò?

Lanciatore di thread

(@falsalarm)

2 anni, 10 mesi fa

Inoltre, ho risolto la domanda sul perché non tutti i miei post venivano visualizzati sulla home page.

Ho creato un file archive.php per il mio tema in questo momento. Di seguito è riportato il contenuto di quel file.

<?php
/*
Template Name: Archives
*/
get_header(); ?>

<?php
$args = array(
	'posts_per_page'   => -1,
	'orderby'          => 'date',
	'order'            => 'ASC',
);

	//$args = array($args);
	$posts_array = get_posts($args);
	echo '<div class="row">';
	//echo "<p>Found, " . count($posts_array) . "</p>";
	foreach($posts_array as $post)
	{
		echo '<div class="col-sm-3 border" style="text-align:center;">';
		echo "<h3 class='headers'><a href='" . $post->post_name ."'>" . $post->post_title . "</h3>";
		echo "<p>" . $post->post_content . "</p></a>";
		echo "</div>";
	}
echo '</div>';

?>

<?php get_sidebar(); ?>
<?php get_footer(); ?>

Dopo aver creato questo file, ogni volta che clicco sul mese mi porta direttamente al nuovo archivio.php poiché ora mostra tutti e 6 i fantastici post.

Noto, tuttavia, che i collegamenti sono diversi dai collegamenti nella home page. I collegamenti includono il mese e il giorno prima del titolo di lavoro per qualche strano motivo.

Spero che tu possa aiutarmi a risolvere questo problema, per favore e grazie.

Lanciatore di thread

(@falsalarm)

2 anni, 10 mesi fa

Inoltre, ho provato a creare un file date.php e copiarvi il contenuto del mio file archive.php, ma questo non sembra affatto aiutare la struttura dei collegamenti degli ancoraggi. 🙁

(@bcworkz)

2 anni, 10 mesi fa

I permalink che includono le date sono proprio quello che fa wp_get_archives (). Non cerca nemmeno di attenersi alle impostazioni dei permalink. Finché la data mostra correttamente la data di pubblicazione, non ci sono problemi con tali collegamenti.

Se la data nei link generati ti dà fastidio, puoi assumere il filtro “get_archives_link” ed eliminare la sezione della data.

Cordiali saluti, il tuo tema non richiede un modello archive.php. Se uno non esiste, WP index.php utilizzerà invece il tema. Ovviamente, se vuoi che gli elenchi di archivi appaiano in modo diverso da index.php, hai bisogno di un modello diverso.

Lanciatore di thread

(@falsalarm)

2 anni, 10 mesi fa

per favore dimmi come posso assumere il filtro “get_archives_link” ed eliminare la parte relativa alla data.

Lanciatore di thread

(@falsalarm)

2 anni, 10 mesi fa

inoltre, nel caso non l’avessi notato sul mio blog nella pagina degli archivi, i link non funzionano con la data inclusa e quindi non importa.

(@alchymyth)

2 anni, 10 mesi fa

questa linea:
eco “

post_name. “‘>”. $ post-> post_title. “

“;

non genera effettivamente un permalink valido per i post;
prova la codifica basata su get_permalink();

esempio:
eco “

ID). “‘>”. $ post-> post_title. “

“;

get_permalink()

(@alchymyth)

2 anni, 10 mesi fa

PS: correggi il codice di messaggistica dalla mia ultima risposta:

cambia questa riga:

		echo "<h3 class='headers'><a href='" . $post->post_name ."'>" . $post->post_title . "</h3>";

per:

		echo "<h3 class='headers'><a href='" . get_permalink( $post->ID ) ."'>" . $post->post_title . "</a></h3>";

Lanciatore di thread

(@falsalarm)

2 anni, 10 mesi fa

grazie fratello, che ha risolto i problemi che ho avuto .. 😀

Was this helpful?

0 / 0

Lascia un commento 0

Your email address will not be published. Required fields are marked *