サポート » 使い方全般 » ページ毎に複数のCSSの読み込みについて

  • 解決済 maelll

    (@maelll)


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

    現在の環境
    現在、全てのページ(固有、投稿含む)においてCSSを二つ読み込んでいます。一つは全てのページに読み込ませるメインのCSS。二つ目は各ページ毎に読み込ませる固有のCSS、この二つ目は”ページスラッグ名.css”となるようにPHPで生成しています。例えば”/about.php”であれば”about.css”, “/2010/12/sample-post.php”であれば”sample-post.css”を読み込みます。

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

    category.phpから抜粋(archive.phpも基本は同じ)

    <ul class="post-entry-list"><br />
    <?php if (is_category()){ $posts = query_posts($query_string . '&showposts=30'); } ?><br />
    <?php while (have_posts()) : the_post(); ?><br />
    <li><?php the_title(); ?></li><br />
    <?php endwhile; ?><br />
    </ul>

    出力例

    • 投稿1
    • 投稿2
    • 投稿3

    となります。

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

    固有CSSを生成させるPHP (header.php)
    以下header.php内で二つ目の固有CSSを生成させているPHPコードです。

    <?php<br />
    $pageid = get_page_uri($post->ID);<br />
    if ( strpos( $pageid,"/") ) {<br />
    $tempid = split("/",$pageid);<br />
    $cnt = count( $tempid ) - 1 ;<br />
    $pageid = $tempid[$cnt];<br />
    }<br />
    $bloginfo = get_bloginfo('template_url');<br />
    echo '<link rel="stylesheet" type="text/css" media="screen, projection" href="' . $bloginfo . '/css/specific/' . $pageid . '.css" />' ;<br />
    ?>
3件の返信を表示中 - 1 - 3件目 (全3件中)
3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「ページ毎に複数のCSSの読み込みについて」には新たに返信することはできません。