Visualizzazione del contenuto di un singolo articolo
Come posso visualizzare il contenuto di un singolo articolo? Il mio codice:
if (is_single()){
get_header();
get_sidebar('left-article');
render_article();
get_footer();
}
In render_article
richiamo single_post_title()
per ottenere il titolo dell'articolo.
Tuttavia non so come ottenere l'ora e i contenuti dell'articolo poiché non riesco a trovare funzioni come single_post_content()
o single_post_time()
.

Crea un file chiamato single.php. Questo recupererà automaticamente tutti i tuoi singoli articoli. Per maggiori informazioni sulla gerarchia dei template di WordPress, leggi il Codex
All'interno di single.php, esegui il loop predefinito e richiama header.php, sidebar.php e footer.php
<?php get_header(); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <?php the_title(); ?> <?php the_content(); ?> <?php echo get_the_date(); ?> <?php endwhile; ?> <?php endif; ?> <?php get_sidebar(); ?> <?php get_footer(); ?>

Puoi utilizzare la funzione qui sotto per ottenere il contenuto di un articolo di WordPress
<?php echo get_the_content(); ?>
e puoi usare questa funzione per ottenere il titolo
<?php echo get_the_title(); ?>
per ottenere la data puoi usare questa funzione
<?php echo get_the_date(); ?>

function my_category_templates($single_template) {
global $post;
if ( in_category( 'Offerte' )) {
$single_template = dirname( __FILE__ ) . '/single-offer.php';
}
// Copia il codice sopra per le altre categorie
return $single_template;
}
add_filter( "single_template", "my_category_templates" );

Utilizza get_post() per ottenere un post specifico
get_post()
Esempio:
<?php $postData = get_post( $id, $output, $filter );
echo "<pre>";
print_r($postData);
?>
https://developer.wordpress.org/reference/functions/get_post/
https://www.tipsandtricks-hq.com/query-or-show-a-specific-post-in-wordpress-php-code-example-44

Questa è una domanda antica, ma nessuna delle risposte qui presenti indica il modo corretto di farlo, quindi voglio fornire un'alternativa migliore. Non è necessario utilizzare un mucchio di funzioni globali casuali o fare affidamento su uno stato globale nebuloso creato da questa terribile cosa chiamata "Loop".
Se stai visualizzando il contenuto di un singolo post, allora devi creare un file chiamato "single.php" all'interno della directory del tuo tema. (https://developer.wordpress.org/themes/basics/template-hierarchy/) Questo sarà il template per i tuoi post.
single.php
<?php
namespace mytheme; // Dovresti designare un namespace per il tuo tema in modo che non entri in conflitto con WordPress, il suo tema genitore o qualsiasi plugin che potresti aver installato.
defined('ABSPATH') || exit; // Esci se il file viene eseguito direttamente invece che da WordPress.
$post = get_queried_object(); // Questo oggetto contiene tutti i dati relativi al post di cui hai bisogno. Non è necessario utilizzare un mucchio di funzioni globali casuali o il Loop per ottenere i dati del post. Se vuoi vedere il contenuto di questo oggetto, usa var_dump durante il debug.
if (!$post) {
$wp_query->set_404();
status_header(404);
http_response_code(404);
exit;
}
get_header();
?>
<main>
<h1><?php echo strip_tags($post->post_title); ?></h1>
<?php if ($post->post_content) { ?>
<div>
<?php echo do_shortcode(apply_filters('the_content', $post->post_content)); ?>
</div>
<?php } ?>
</main>
<?php get_footer(); ?>
