webentwicklung-frage-antwort-db.com.de

Option wird angezeigt, wenn es sich bei der Seite um eine Startseite handelt

Momentan habe ich einige Probleme mit dem folgenden Snippet.

Wie es derzeit funktioniert, zeigt es the_excerpt_rss auf einem einzelnen Beitrag und einer einzelnen Seite. UND es zeigt die Option für is_home().

Aber was ist, wenn eine Seite (anstelle des "Blogs") die Startseite ist? Wenn möglich, möchte ich auch die Option aufnehmen.

Ich habe verschiedene Versionen von include is_front_page() ausprobiert, aber bisher ohne Erfolg.

Das Snippet, das ich derzeit verwende:

<?php if (is_single() OR is_page()): if (have_posts()): while (have_posts()): the_post(); ?>
    <meta name="description" content="<?php the_excerpt_rss(); ?>">
<?php endwhile; endif; elseif (is_home()): ?>
    <meta name="description" content="<?php $options = get_option('schema_theme_options'); echo $options['metadescription']; ?>">
<?php endif; ?>
1
user5424

Versuchen Sie es mit if ( 'page' == get_option( 'show_on_front' ) ) {}.

Bearbeiten

aber ich habe versucht, <?php endwhile; endif; elseif (is_home()): ?> durch Ihren Code zu ersetzen. Könnten Sie mir vielleicht Ihren Ausschnitt beifügen?

Ich bin mir nicht sicher, warum du das tun würdest. Ich habe speziell diese Frage beantwortet:

Aber was ist, wenn eine Seite (anstelle des "Blogs") die Startseite ist? Wenn möglich, möchte ich auch die Option aufnehmen.

Die Antwort auf diese Frage ist das, was ich gepostet habe:

`if ( 'page' == get_option( 'show_on_front' )

Aber , das wird Ihr Problem nicht wirklich lösen, wenn ich Ihren Code richtig lese. Lesen Sie, was Sie fragen, dies sollte funktionieren:

if ( is_single() || is_page() || is_front_page() )

(Hinweis: Ich habe || anstelle von OR als Booleschen Operator verwendet.)

Um ehrlich zu sein, bin ich etwas überrascht, dass dies auf statischen Seiten funktioniert. Ich wusste nicht, dass sie eine RSS-Ausgabe generierten.

1
Chip Bennett

Hoffentlich würde ich mich beim Hinzufügen dieser Antwort an die Regeln halten (ich habe stattdessen darüber nachgedacht, meine ursprüngliche Frage zu bearbeiten)

Vor allem @ Chip-Bennett ist richtig. Ich war nicht 100% klar, als ich meine Frage stellte. Ich wollte the_excerpt_rss für einzelne Posts und Seiten verwenden und wenn die Homepage eine statische Seite oder die Posts-Seite anzeigen würde, würde ich gerne die Option verwenden.

Aus diesem Grund ist dies der Code, den ich derzeit verwende:

<?php if (is_home() OR is_front_page()): ?>
    <meta name="description" content="<?php $options = get_option('schema_theme_options'); echo $options['metadescription']; ?>">
<?php elseif (is_single() OR is_page()): if (have_posts()): while (have_posts()): the_post(); ?>
    <meta name="description" content="<?php the_excerpt_rss(); ?>">
<?php endwhile; endif; endif ?>
0
user5424
<?php if(get_the_ID() == get_option('show_on_front')) : ?>
     <meta name="description" content="<?php $options = get_option('schema_theme_options'); echo $options['metadescription']; ?>">
<?php elseif(is_single() OR is_page()) : ?>
    <?php if (have_posts()): while (have_posts()): the_post(); ?>
          <meta name="description" content="<?php the_excerpt_rss(); ?>">
    <?php endwhile; endif; ?>
<?php endif; ?>

Wie ist das?

0
Pippin