web-dev-qa-db-ja.com

ページがフロントページの場合の表示オプション

現在私は下のスニペットでいくつかの問題を抱えています。

現在動作しているので、単一の投稿と単一のページにthe_excerpt_rssが表示されます。そしてそれはis_home()のオプションを示しています。

しかし、(「ブログ」の代わりに)ページがフロントページであるとしたらどうでしょうか。可能であれば、私もそのオプションを含めたいと思います。

私はis_front_page()を含むいくつかのバージョンを試してみましたが、これまでのところ何の運もありません。

私が現在使用しているスニペット:

<?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

if ( 'page' == get_option( 'show_on_front' ) ) {}を試してください。

編集する

しかし、私は<?php endwhile; endif; elseif (is_home()): ?>をあなたのコードの両方に追加して置き換えることを試みました。あなたのスニペットを私のものと一緒に入れてもらえますか?

なぜあなたがそうするのか私にはわかりません。私は具体的にこの質問に答えていました:

しかし、(「ブログ」の代わりに)ページがフロントページであるとしたらどうでしょうか。可能であれば、私もそのオプションを含めたいと思います。

その質問に対する答えは私が投稿したものです。

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

ただし、は、コードを正しく読んでいれば、実際には問題は解決しません。あなたが求めていることを読んで、これはうまくいくはずです

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

(注:ブール演算子としてORの代わりに||を使用しました。)

正直に言うと、これが静的ページで機能することに少し驚いています。私は彼らがRSS出力を生成したことを知りませんでした。

1
Chip Bennett

うまくいけば、私はこの返事を追加するときに私は規則の範囲内にいるでしょう

まず第一に、@ chip-bennettが正しいです。私の質問をするとき、私は100%はっきりしていませんでした。私はthe_excerpt_rssを単一の投稿とページに使いたいと思っていました、そしてホームページが静的なページか投稿ページを表示するならば、私はオプションを使いたいです。

したがって、将来の参照用に、これは私が現在使用しているコードです。

<?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; ?>

どのようだ?

0
Pippin