Kā izvadīt sarakstu ar ieplānotajiem ierakstiem
Nākamo ierakstu rādīšana var būt noderīga, lai piesaistītu cilvēkus abonēt jūsu blogu. Šajā rakstā apskatīsim, kā to izdarīt.
Kas ir ieplānotie ieraksti??
Ja esat blogojis kādu laiku, droši vien esat pamanījuši, ka ierakstu publicēšana noteiktā laikā var palīdzēt iegūt vairāk skatījumu. Ja esat jaunpienācējs blogošanā, iesakām sākt ar apmeklējuma analīzi (piemēram, Google Analytics / GA4), lai saprastu, kad jūsu auditorija ir visaktīvākā.
Problēma ir tā, ka nevarat vienkārši sēdēt un gaidīt īsto laiku, lai nospiestu publicēšanas pogu. Tāpēc WordPress ir iebūvēta funkcija ierakstu publicēšanai pēc grafika.
Svarīgi saprast: pēc noklusējuma WordPress apmeklētājiem nerāda ierakstus statusā Scheduled (ieplānotie). Tie automātiski kļūs redzami blogā tikai noteiktajā laikā. Ja vēlaties izveidot sarakstu ar nākamajiem ierakstiem (piemēram, sadaļu «Drīzumā»), to var izdarīt ar spraudni vai savu kodu. Šajā rakstā apskatīsim abus variantus.
Pirmā metode: nākamo ierakstu rādīšana ar spraudni
Uzstādiet un aktivizējiet spraudni Display Posts. Tas pievieno universālu īskodu, kas ļauj izvadīt ierakstus pēc dažādiem parametriem, tostarp statusa future. Ievietojiet ierakstā, lapā vai Shortcode blokā sekojošo kodu:
Sarakstu var izvietot sānjoslā, izmantojot blokus «Shortcode» vai «Custom HTML», kā arī ievietot tieši ieraksta vai lapas tekstā.
Problēma ar saitēm
Pēc noklusējuma Display Posts izveido saites uz ierakstu nosaukumiem. Tas nozīmē, ka autorēti lietotāji (admins, redaktors, autors) redzēs saites un tās vedīs uz ieraksta priekšskatījumu, bet neautorizēti lietotāji redzēs 404, jo ieraksts vēl nav publicēts.
Risinājums ar CSS
Lai saites būtu redzamas tikai autorizētiem lietotājiem, bet pārējiem tikai kā teksts, pievienojiet sekojošo CSS savā tēmas vai vietnes pielāgotajā CSS:
.logged-out .display-posts-list a {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: inherit;
}
Ja dodat priekšroku vieglam pielāgotam kodam bez spraudņiem, pievienojiet sekojošo kodu failā functions.php jūsu bērnu tēmā vai izveidojiet nelielu spraudni.
// Add this code to your child theme's functions.php or a small custom plugin
function wpb_upcoming_posts() {
    // Query for future posts
    $the_query = new WP_Query( array(
        'post_status'    => 'future',      // Only get scheduled posts
        'posts_per_page' => 3,             // Limit number of posts displayed
        'orderby'        => 'date',        // Order by post date
        'order'          => 'ASC',         // Earliest posts first
    ) );
    // Initialize output variable
    $output = '';
    // Check if there are future posts
    if ( $the_query->have_posts() ) {
        $output .= '<ul class="upcoming-posts">';
        while ( $the_query->have_posts() ) {
            $the_query->the_post();
            // Escape title and date for security
            $title = esc_html( get_the_title() );
            $date  = esc_html( get_the_date( get_option( 'date_format' ) ) );
            // If user is logged in, show link; otherwise show only title and date
            if ( is_user_logged_in() ) {
                $permalink = esc_url( get_permalink() );
                $output .= "<li><a href=\"{$permalink}\">{$title}</a> ({$date})</li>";
            } else {
                $output .= "<li>{$title} ({$date})</li>";
            }
        }
        $output .= '</ul>';
    } else {
        // Message if no scheduled posts are found
        $output .= '<p>No upcoming posts yet.</p>';
    }
    // Reset post data after query
    wp_reset_postdata();
    // Return the HTML output
    return $output;
}
// Register shortcode [upcoming_posts]
add_shortcode( 'upcoming_posts', 'wpb_upcoming_posts' );
// Enable shortcode execution in text widgets
add_filter( 'widget_text', 'do_shortcode' );
Tagad dodieties uz Appearance – Widgets (vai bloku redaktoru), pievienojiet «Shortcode» vai «Custom HTML» bloku sānjoslā un ievietojiet šo īskodu:
[upcoming_posts]

Nospiediet saglabāšanas pogu un apskatiet sarakstu ar ieplānotajiem ierakstiem sānjoslā. Šo īskodu var ievietot arī ierakstā, lapā vai tēmas šablonā.
Mūsu specializācija — WordPress vietņu izstrāde un uzturēšana. Kontakti bezmaksas konsultācijai — [email protected], +371 29394520

Atbildēt
Vai vēlaties pievienoties diskusijai?Jūtieties brīvi sniegt savu ieguldījumu!