Afișarea conținutului pentru un articol individual

7 sept. 2014, 13:21:36
Vizualizări: 75.2K
Voturi: 5

Cum pot afișa conținutul pentru un articol individual? Codul meu:

if (is_single()){
    get_header();
    get_sidebar('left-article');
    render_article();
    get_footer();
}

În render_article folosesc single_post_title() pentru a obține titlul articolului. Cu toate acestea, nu știu cum să obțin timpul și conținutul articolului deoarece nu găsesc nicio funcție precum single_post_content() sau single_post_time().

1
Comentarii

Trebuie să studiezi acest lucru mai întâi

Nilambar Sharma Nilambar Sharma
7 sept. 2014 13:28:38
Toate răspunsurile la întrebare 5
0
13
  1. Creează un fișier numit single.php. Acesta va prelua automat toate articolele individuale. Pentru mai multe informații despre ierarhia de șabloane în WordPress, citește Codex-ul

  2. În interiorul single.php, rulează bucla implicită și include header.php, sidebar.php și 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(); ?>
    
7 sept. 2014 13:39:53
0

puteți utiliza funcția de mai jos pentru a obține conținutul unui articol din Wordpress

     <?php echo get_the_content(); ?>

și puteți utiliza funcția de mai jos pentru a obține titlul

    <?php echo get_the_title(); ?>

pentru a obține data puteți folosi această funcție

    <?php echo echo get_the_date(); ?>
30 mar. 2018 15:30:17
0
function my_category_templates($single_template) {
    global $post;

    if ( in_category( 'Oferte' )) {
        $single_template = dirname( __FILE__ ) . '/single-offer.php';
    }

    // Copiați secțiunea de mai sus pentru alte categorii

    return $single_template;
}

add_filter( "single_template", "my_category_templates" );
16 nov. 2016 14:27:57
0

Folosește get_post() pentru a obține un articol specific

get_post()

Exemplu :

<?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

16 ian. 2017 08:28:37
0

Aceasta este o întrebare veche, dar niciunul dintre răspunsurile de aici nu prezintă metoda corectă de a face acest lucru, așa că doresc să ofer o alternativă mai bună. Nu este nevoie să folosiți o grămadă de funcții globale aleatorii sau să vă bazați pe o stare globală neclară creată de acest "Loop" oribil.

Dacă afișați conținutul unui singur articol, atunci trebuie să creați un fișier numit "single.php" în directorul temei dumneavoastră. (https://developer.wordpress.org/themes/basics/template-hierarchy/) Acesta va fi șablonul pentru articolele dumneavoastră.

single.php

<?php

    namespace mytheme; // Ar trebui să desemnați un namespace pentru tema dumneavoastră pentru a nu intra în conflict cu WordPress, cu tema părinte sau cu orice plugin instalat.

    defined('ABSPATH') || exit; // Ieșiți dacă fișierul este executat direct și nu prin WordPress.

    $post = get_queried_object(); // Acest obiect conține toate datele despre articol de care aveți nevoie. Nu este nevoie să folosiți o grămadă de funcții globale aleatorii sau Loop pentru a obține datele articolului. Dacă doriți să vedeți conținutul acestui obiect, folosiți var_dump în timpul depanării.

    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(); ?>
19 dec. 2022 22:18:54