ページ毎に複数のCSSの読み込みについての質問

  • 不明 のアバター

    長文失礼します。PHPの記述方法で不明な点があるのですが。

    現在の環境
    現在、全てのページ(固有、投稿含む)においてCSSを二つ読み込んでいます。一つは全てのページに読み込ませるメインのCSS。二つ目は各ページ毎に読み込ませる固有のCSS、この二つ目は”ページスラッグ名.css”となるように特殊なPHPで生成しています。例えば”/about.php”であれば”about.css”, “/2010/12/sample-post.php”であれば”sample-post.css”と読み込みます。
    ちなみに、ブログのトップページに表示する投稿数は1つで、もし複数表示する場合であっても二つ目に読み込む固有CSSは最新、一番上にくる投稿スラッグ名のものとなります。

    分からない事。カテゴリー、アーカイブページ: 対象url “~/category/name/”, “~/2010/12/”
    まず、カテゴリーや日付別の投稿を一覧表示する時、絞られた投稿記事一覧はリストで表示し、最新の投稿は一番上に表示されるようになってます。

    category.phpから抜粋(archive.phpも基本は同じ)*<list>=li
    <ul class="post-entry-list">
    <?php if (is_category()){ $posts = query_posts($query_string . '&showposts=30'); } ?>
    <?php while (have_posts()) : the_post(); ?>
    <list>"><?php the_title(); ?></list>
    <?php endwhile; ?>

    出力例

    • 記事1
    • 記事2
    • 記事3

    となります。

    問題はこの時に読み込まれる固有CSSで、対象のカテゴリー、対象の日付分の投稿を表示すると必ず記事1、つまり最新の投稿の二つ目の固有CSSが読み込まれてしまうのです。出来る事ならカテゴリー、アーカイブページでは固有CSSは読み込ませないようにしたいのです。

    固有CSSを生成させるPHP (header.php)
    以下header.php内で二つ目の固有CSSを生成させているPHPコードです。
    <head><?php
    $pageid = get_page_uri($post->ID);
    if ( strpos( $pageid,"/") ) {
    $tempid = split("/",$pageid);
    $cnt = count( $tempid ) - 1 ;
    $pageid = $tempid[$cnt];
    }
    $bloginfo = get_bloginfo('template_url');
    echo '<link rel="stylesheet" type="text/css" media="screen, projection" href="' . $bloginfo . '/css/specific/' . $pageid . '.css" />' ;
    ?>
    </head>

  • 不明 のアバター

    (重複したフォーラ投稿は削除しました)

    内容が、WordPress.com ブログに関するものではなくインストール型 WordPress.org に関する質問のようです。以下のフォーラムへご投稿をお願いします。
    http://ja.forums.wordpress.org/

    WordPress.com と WordPress.org の違いについてのトピックもご覧ください。
    よろしくお願いします。

  • トピック「ページ毎に複数のCSSの読み込みについての質問」には新しい返信をつけることはできません。