Thêm nhãn MỚI cho Bài đăng được xuất bản trong x số ngày qua trong Genesis

Trong cuộc trò chuyện Genesis Slack, một người dùng đã hỏi:

Tôi đang cố gắng sử dụng plugin Bài đăng nổi bật tùy chỉnh để thêm nhãn MỚI trước tiêu đề. Có ai đã thử điều này trước đây? Tôi đang nghĩ đến việc chỉ cần truy cập và kiểm tra xem nó có> 90 hoặc> 180 ngày hay gì đó không.[post_date]

Trong hướng dẫn này, tôi chỉ ra cách có thể thêm văn bản vào trước đánh dấu tiêu đề cho các bài đăng ở tất cả các chế độ xem khác nhau như kho lưu trữ và đơn cũng như trong đầu ra của tiện ích Bài viết nổi bật của Genesis.[NEW]

Chúng tôi sẽ sử dụng genesis_post_title_output bộ lọc hook và plugin Tiện ích bài viết nổi bật Custom Genesis.

Lưu ý: Ảnh chụp màn hình ở trên được chụp khi 1 được sử dụng thay vì 90 trong quá trình thử nghiệm trong đoạn mã bên dưới.

Bước 1

Thêm phần sau vào functions.php của chủ đề con :

/**
 * Function to check if a post is older than certain days
 *
 * @param integer $days Number of days.
 * @return True if post is older than the supplied number of days, otherwise false
 * @link http://wpengineer.com/1913/if-post-is-older-than/
 */
function is_old_post( $days = 5 ) {
    $days = (int) $days;
    $offset = $days * 24 * 60 * 60;
    if ( get_post_time() < date( 'U' ) - $offset ) {
        return true;
    }

    return false;
}

add_filter( 'genesis_post_title_output', 'custom_post_title_output' );
/**
 * Filter Genesis Post Titles to add a [NEW] label for posts that have been published within the last 90 days.
 *
 * @param string $output Current title output markup.
 */
function custom_post_title_output( $output ) {

    // if this is a Post and is NOT older than 90 days i.e., was published in the last 90 days.
    if ( 'post' === get_post_type() && ! is_old_post( 90 ) ) {
        $output = '<span class="new alignleft">[NEW]</span>' . $output;
    }

    return $output;

}

Bước 2

Cài đặt và kích hoạt plugin Tiện ích bài viết nổi bật tùy chỉnh Genesis tùy chỉnh này: custom-featured-post-widget.zip - Droplr

Bước 3

Thêm phần sau vào style.css của chủ đề con :

.new {
    margin-right: 8px;
    font-size: 15px;
}