如何显示发布日期,而不是此特定的WordPress代码片段中的最后修改日期

时间:2019-06-09 12:48:51

标签: php wordpress

我正在尝试更改发布日期在我的Wordpress子主题中的显示方式。到目前为止,显示的时间是最后修改的时间,我希望它是我在每个帖子中手动设置的日期(即原始发布日期)。

我在父主题中找到一个文件,我认为该文件可能包含代码罪魁祸首。我承认我不太了解这段代码的作用,并且我一直在尝试并尝试使它以不同的方式工作,甚至可以完全删除它,但无济于事。无论我做什么,页面上的输出都将保持不变。甚至没有任何错误消息。我怀疑我复制到子主题文件夹中的相关文件未正确排队,因此未反映任何更改。该文件称为“ template-tags.php”,位于一个名为“ inc”的文件夹中。我已经在子主题的目录中创建了一个类似文件夹,并将文件复制到该文件夹​​中以进行编辑。

if ( ! function_exists( 'writings_posted_on' ) ) :
    /**
     * Prints HTML with meta information for the current post-date/time and author.
     */
    function writings_posted_on() {
        $time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
        if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
            $time_string = '<time class="updated" datetime="%3$s">%4$s</time><time class="entry-date published" datetime="%1$s">%2$s</time>';
        }

        $time_string = sprintf( $time_string,
            esc_attr( get_the_date( 'c' ) ),
            esc_html( get_the_date() ),
            esc_attr( get_the_modified_date( 'c' ) ),
            esc_html( get_the_modified_date() )
        );

        $posted_on = sprintf(
            /* translators: %s: post date. */
            esc_html_x( 'Posted on %s', 'post date', 'writings' ),
            '<a href="' . esc_url( get_permalink() ) . '" rel="bookmark">' . $time_string . '</a>'
        );

        $byline = sprintf(
            /* translators: %s: post author. */
            esc_html_x( 'by %s', 'post author', 'writings' ),
            '<span class="author vcard"><a class="url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . esc_html( get_the_author() ) . '</a></span>'
        );

        echo '<span class="posted-on">' . $posted_on . '</span><span class="byline"> ' . $byline . '</span>'; // WPCS: XSS OK.

    }

我希望页面上的输出是原始发布日期,而不是现在的最后修改日期

1 个答案:

答案 0 :(得分:0)

您可以将主要功能复制到子主题并根据需要进行自定义。我修改了该功能,以忽略帖子元中的更新日期。您可以尝试关注。将以下代码复制到您的子主题的functions.php中并粘贴。

function writings_posted_on() {
    $time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';

    $time_string = sprintf( $time_string,
        esc_attr( get_the_date( 'c' ) ),
        esc_html( get_the_date() )
    );

    $posted_on = sprintf(
        /* translators: %s: post date. */
        esc_html_x( 'Posted on %s', 'post date', 'writings' ),
        '<a href="' . esc_url( get_permalink() ) . '" rel="bookmark">' . $time_string . '</a>'
    );

    $byline = sprintf(
        /* translators: %s: post author. */
        esc_html_x( 'by %s', 'post author', 'writings' ),
        '<span class="author vcard"><a class="url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . esc_html( get_the_author() ) . '</a></span>'
    );

    echo '<span class="posted-on">' . $posted_on . '</span><span class="byline"> ' . $byline . '</span>'; // WPCS: XSS OK.

}