So markieren oder zeigen Sie neue Beiträge

Aug 23 2020

Ich möchte das neue Tag für bestimmte Beiträge hervorheben oder anzeigen. Wenn der Benutzer auswählt, dass der Beitrag hervorgehoben oder das neue Tag in der Beitragsliste angezeigt werden soll, sollte der Beitrag ein neues Tag in der Beitragsliste im Front-End anzeigen.

Wie kann ich das erreichen?

Das neue Tag bezeichnet das neue Bild oder den neuen Text, um den Beitrag in der Beitragsliste hervorzuheben und die Aufmerksamkeit des Benutzers auf sich zu ziehen.

Dies ist mein Code hinzugefügt in functions.php:

function wpb_lastvisit_the_title ( $title, $id ) {
 
if ( is_singular() || get_post_type( $id ) == 'page' ) return $title;
 
// Check the post with the new tag 
$tag_ids = wp_get_post_tags($post->ID, array('fields' => 'ids'));

if ($tag_ids == 'new') $title .= '<span class="new-article">New</span>';
return $title;
}
 
add_filter( 'the_title', 'wpb_lastvisit_the_title', 10, 2);

CSS:

.new-article { 
background: #feffdd;
padding: 3px;
border: 1px solid #eeefd2;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
margin-left:5px;
font-size: small;
font-weight: bold;
}

Jede Hilfe wird sehr geschätzt.

Antworten

Unbywyd Aug 26 2020 at 04:48

Ok, um die neuesten Beiträge anzuzeigen, verwenden Sie das Standard- Widget " Letzte Beiträge" .

Sie können es hier sehen: Aussehen -> Widgets

Dieses Widget hat keine Einstellungen und ist für den Einstieg in Ordnung. Sie können jedes Plugin installieren, das Ihrer Site ein komplexeres Widget hinzufügt. Sie müssen nur suchen nach: Widget "Letzte Beiträge"

Ich habe folgendes gefunden:

  • Letzte Beiträge Widget mit Thumbnails

  • Neueste Beiträge

  • Smart-Recent-Posts-Widget

Und mehr...

Gehen Sie einfach zu den Plugins und fügen Sie sie Ihrer Site hinzu. Wählen Sie sie dann in Widgets aus und passen Sie sie entsprechend an


Bearbeiten

Ändern Sie den Titel des Beitrags relativ zum Datum (wenn seit der Veröffentlichung kein Monat vergangen ist)

function wpb_lastvisit_the_title ( $title, $id ) {
    if ( is_singular() || get_post_type( $id ) != 'post' ) return $title;   

    $p = get_post( $id );
    $now = new DateTime(); $date = DateTime::createFromFormat(get_option( 'date_format' ), $p->post_date); if($date){
        $interval = $now->diff($date); $days = $interval->d; // If a month has not passed, show the label if($days <= 30) {
            $title .= ' <span class="new-article">New</span>'; } } return $title;
}

add_filter( 'the_title', 'wpb_lastvisit_the_title', 10, 2);

Nach Tag:

function wpb_lastvisit_the_title ( $title, $id ) {
    if ( is_singular() || get_post_type( $id ) != 'post' ) return $title;

    $tag_ids = wp_get_post_tags($id, array('fields' => 'ids'));
    // tag with name - new
    $tagId = get_term_by('slug', 'new', 'post_tag') -> term_id; if(in_array($tagId, $tag_ids)) { $title .= ' <span class="new-article">New</span>';
    }
    return $title;
}

add_filter( 'the_title', 'wpb_lastvisit_the_title', 10, 2);