WordPress

Dodawanie niestandardowych metadanych do mojej strony Archiwum/Posty

  • 23 kwietnia, 2021
  • 5 min read
Dodawanie niestandardowych metadanych do mojej strony Archiwum/Posty


Obecnie pracuję nad witryną z wiadomościami i korzystam z funkcji archiwum WordPress, aby wyświetlić wszystkie moje posty w kanale (po kliknięciu tytułów postów zostajesz przeniesiony do strony źródłowej). Muszę dodać kolejny fragment metadanych do tych postów (źródło artykułu).wprowadź tutaj opis obrazu.

Tak to obecnie wygląda, potrzebuję źródła zgodnego z datą i autorem.

Użyłem zaawansowanej wtyczki pól niestandardowych, aby utworzyć niestandardowe metabox dla każdego postu, w którym mogę wpisać źródło artykułu. Wygląda na to, że działa dobrze, ale nie wiem, jak wyświetlić to na stronie archiwum. wprowadź tutaj opis obrazu

To jest kod, który dodałem do pliku Loop-archive.php, ponieważ tam chcę wyświetlać niestandardowe pole. Ale nic się nie stało. Otrzymałem ten kod z wielu różnych witryn internetowych, dzięki którym wyświetlanie niestandardowych metadanych wydaje się łatwe. (zrobiłem to wszystko w temacie dziecięcym, motywem, którego używam, jest Gazeta)

Jak to naprawić?

archiwum.php:

<?php get_header();

    $td_archive_title="";
    if (is_day()) {
        $td_archive_title .= __('Daily Archives:', 'newspaper' ) . ' ' . get_the_date();
    } elseif (is_month()) {
        $td_archive_title .= __('Monthly Archives:', 'newspaper') . ' ' . get_the_date('F Y');
    } elseif (is_year()) {
        $td_archive_title .= __('Yearly Archives:', 'newspaper') . ' ' . get_the_date('Y');
    } else {
        $td_archive_title .= __('Archives', 'newspaper');
    }

?>

    <div class="td-main-content-wrap td-container-wrap">
        <div class="td-container">
            <div class="td-crumb-container">
                <?php echo tagdiv_page_generator::get_breadcrumbs(array(
                    'template' => 'archive',
                )); ?>
            </div>

            <div class="td-pb-row">
                <div class="td-pb-span8 td-main-content">
                    <div class="td-ss-main-content">
                        <div class="td-page-header">
                            <h1 class="entry-title td-page-title">
                                <span><?php echo esc_html( $td_archive_title ) ?></span>
                            </h1>

                        </div>

                        <?php
                            get_template_part('loop-archive');
                        ?>
                    </div>
                </div>

                <div class="td-pb-span4 td-main-sidebar">
                    <div class="td-ss-main-sidebar">
                        <?php dynamic_sidebar( 'td-default' ) ?>
                    </div>
                </div>
            </div>
        </div>
    </div>

<?php get_footer(); ?>

pętla archiwum:

<?php

$post_count = 1;
$column_count = 1;

$span = 'span6';
$column_break = 2;
$is_404 = false;
if( is_404() ) {
    $is_404 = true;
    $column_break = 3;
    $span = 'span4';

    $args = array(
        'post_type'=> 'post',
        'showposts' => 6,
        'ignore_sticky_posts' => true
    );
    query_posts($args);
}

if (have_posts()) {

    while ( have_posts() ) : the_post();
        if( $column_count == 1 ) { ?>
            <div class="td-block-row">
        <?php } ?>

            <div class="td-block-<?php echo esc_attr( $span ) ?>">
                <div <?php post_class('td_module_1 td_module_wrap clearfix') ?> >
                    <div class="td-module-image">
                        <div class="td-module-thumb">
                            <?php
                                if ( current_user_can('edit_published_posts') ) {
                                    edit_post_link('Edit', '', '', '', 'td-admin-edit');
                                }
                            ?>

                            <a href="<?php the_permalink() ?>" rel="bookmark" class="td-image-wrap" title="<?php the_title_attribute() ?>">
                                <?php
                                    $post_thumbnail_url="";

                                    if( get_the_post_thumbnail_url(null, 'medium_large') != false ) {
                                        $post_thumbnail_url = get_the_post_thumbnail_url(null, 'medium_large');
                                    } else {
                                        $post_thumbnail_url = get_template_directory_uri() . '/images/no-thumb/medium_large.png';
                                    }
                                ?>

                                <img class="entry-thumb" src="<?php echo esc_url($post_thumbnail_url) ?>" alt="<?php the_title() ?>" title="<?php echo esc_attr(strip_tags(the_title())) ?>" />
                            </a>
                        </div>

                        <?php
                            $categories = get_the_category();
                            if( !empty( $categories ) ) {
                                $cat_link = get_category_link($categories[0]->cat_ID);
                                $cat_name = $categories[0]->name; ?>

                                <a class="td-post-category" href="<?php echo esc_url($cat_link) ?>"><?php echo esc_html($cat_name) ?></a>
                        <?php } ?>
                    </div>
<?php 
 
                        $source = get_post_meta($post->ID, 'source', true);
 
                        if ($source) { ?>
 
                        <p>Source: <? echo $source; ?></p>
 
                        <?php 
 
                        } else { 
                        // do nothing; 
                        }
 
                        ?>
                    <h3 class="entry-title td-module-title">
                        <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute() ?>">
                            <?php the_title() ?>
                        </a>
                    </h3>

                    <div class="td-module-meta-info">
                        <div class="td-post-author-name">
                            <a href="<?php echo esc_url(get_author_posts_url(get_the_author_meta( 'ID' ))) ?>"><?php the_author() ?></a>
                            <span> - </span>
                        </div>
                    
                        <span class="td-post-date">
                            <time class="entry-date updated td-module-date" datetime="<?php echo esc_html(date(DATE_W3C, get_the_time('U'))) ?>" ><?php the_time(get_option('date_format')) ?></time>
                        </span>

                        <div class="td-module-comments">
                            <a href="<?php comments_link() ?>">
                                <?php comments_number('0','1','%') ?>
                            </a>
                        </div>
                    </div>
                </div>
            </div>

    <?php
        if( $column_count == $column_break || $post_count == $wp_query->post_count ) { ?>
            </div> <?php
            $column_count = 1;
        } else {
            $column_count++;
        }

        $post_count++;

    endwhile;

    if( !$is_404 ) {
        tagdiv_page_generator::get_pagination();
    }

} else { ?>
    <div class="no-results td-pb-padding-side">
        <h2><?php esc_html_e('No posts to display', 'newspaper') ?></h2>
    </div>
<?php }


Źródło

Warto przeczytać!  edytor bloków - Używanie wp_set_script_translations bez ręcznej rejestracji skryptu