• onetimename

    (@mshibawordpress)


    始めまして。

    オリジナルのテーマを作成しているのですが、スタイルが反映されません。

    </head>直前にwp_head()と、
    </body>直線にwp_footer()は記述しています。

    devToolsでheadタグ内を見ると、style.cssが読み込まれています。
    これはheadタグ内に
    <link rel=”stylesheet” href=”<?php echo get_stylesheet_uri(); ?>” type=”text/css” />
    こちらを書いているためだと思います。

    また、wp_head()とwp_footer()をindex.phpに記述すると、トップページのみスタイルが反映されます。

    なにを確認すべきでしょうか?
    よろしくお願い致します。

    • このトピックはonetimenameが5年、 5ヶ月前に変更しました。
    • このトピックはonetimenameが5年、 5ヶ月前に変更しました。
    • このトピックはonetimenameが5年、 5ヶ月前に変更しました。
15件の返信を表示中 - 1 - 15件目 (全15件中)
  • DRILL LANCER

    (@rickaddison7634)

    style.cssが下記の様に読み込むのが常識(?)のようなものです。

    function theme_enqueue_styles(){
        wp_enqueue_styles( 'parent-style', get_template_directory_uri() . '/style.css', array() );
    }
    add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
    

    あと、初めてテーマを制作する際はUnderscores等のフレームワークをベースに制作したほうがスムーズに行くと思います。

    トピック投稿者 onetimename

    (@mshibawordpress)

    返信ありがとうございます。

    下記のコードも試してはいますが、こちらはheadタグ内に読み込まれすらしない状態です。

    
    function add_style() {
          wp_enqueue_style('main', get_stylesheet_uri());
    }
    add_action( 'wp_enqueue_scripts', 'add_style' );
    

    Underscoresに関しては、目を通させて頂きます。

    DRILL LANCER

    (@rickaddison7634)

    テンプレートの構造がわからないので回答のしようがありませんでした。
    よってUnderscoresを勧めた次第であります。
    こちらのサイトも参考になると思います。

    こんにちは、

    確認したいのですが、

    get_header(); get_footer()`を記述しない形式のテンプレートを作っているのでしょうか?

    もしそうなら、以下のようにaction hookを追加してみてください。

    
    <?php
    		do_action( 'get_header' );
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>無題ドキュメント</title>
    <?php wp_head();?>
    </head>
    <body>
    <p><br />content here<br /></p>
    <?php
    		do_action( 'get_footer' );
    		do_action( 'wp_print_footer_scripts' );
    		do_action( 'wp_footer' );
    ?>
    </body>
    </html>
    
    トピック投稿者 onetimename

    (@mshibawordpress)

    @rickaddison7634 様、@nobita 様
    返信ありがとうございます。
    情報を追加いたします。

    ディレクトリ構造としては、テーマファイルの直下にindex.php、header.php、footer.php、style.cssなど最低限のものが置いてあります。

    index.php、header.php、footer.phpのそれぞれのコードは以下のようになっています。

    index.php

    
    <?php get_header(); ?>
    <div>original</div>
    <?php get_footer(); ?>
    

    header.php

    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    	<link href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" rel="stylesheet">
    	<title><?php bloginfo('name'); ?> <?php if ( is_single() ) { ?> &raquo; Blog Archive <?php } ?> <?php wp_title(); ?></title>
    	<?php wp_head();?>
    </head>
    <body>
    <div class="page">
        <header>
            <h1><a href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?></a></h1>
        </header>
    

    footer.php

    
    </div> <!-- class=page -->
    <?php wp_footer(); ?>
    </body>
    </html>
    
    DRILL LANCER

    (@rickaddison7634)

    えーと、functions.phpは存在しますか?

    function add_style() {
          wp_enqueue_style('main', get_stylesheet_uri());
    }
    add_action( 'wp_enqueue_scripts', 'add_style' );

    function theme_enqueue_styles(){
        wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css', array(), false );
    }
    add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );

    等はfunctions.phpに記述するものですが・・・

    あと、気になるのが2点あります。

    • 使用しているテキストエディター
    • それぞれのファイルの文字コード→UTF-8(BOMなし)が正解
    トピック投稿者 onetimename

    (@mshibawordpress)

    返信ありがとうございます。
    functions.phpに

    
    function add_style() {
          wp_enqueue_style('main', get_stylesheet_uri());
    }
    add_action( 'wp_enqueue_scripts', 'add_style' );
    

    こちらを記述しています。

    テキストエディターはsublime text 3
    文字コードはすべてのファイルでUTF-8のBOM無しです。

    DRILL LANCER

    (@rickaddison7634)

    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    WordPressはUTF-8以外の文字コードは指定不可のようなので、
    charset=ISO-8859-1"の部分をcharset="utf-8"に変更してみてください。
    ついでにcontent="text/html;content="text/html"に修正してみると良いかもしれません。

    あと、いくつかのテンプレートでは
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    の記述が見られました。

    トピック投稿者 onetimename

    (@mshibawordpress)

    ありがとうございます。

    該当のメタタグを以下のように修正しましたが、変わらずスタイルは反映されません。
    <meta http-equiv="Content-Type" content="text/html" charset="utf-8" />

    スーパーリロードなども試しています。

    DRILL LANCER

    (@rickaddison7634)

    3つの公式テーマを見比べましたが、
    どれも<meta charset="utf-8">という感じで独立して書かれています。
    あとは未だに表示を試していないブラウザで表示を試すとか。
    開発環境には必要なものは全て揃っていますか?
    XAMMPとかLocal by flywheelとかAMPPSとか全て揃っているものを使用していますか?

    トピック投稿者 onetimename

    (@mshibawordpress)

    ありがとうございます。

    metaタグを以下のように記述し直しましたが変わりません。

    
     <meta http-equiv="Content-Type"/>
     <meta content="text/html"/>
     <meta charset="utf-8"/>
    

    FireFoxとedgeでも確認しましたが、スタイルは当たっていませんでした。

    ローカルの開発環境はXAMMPで、こちらは正常にスタイルが当たっています。
    サーバー側はApatch、MySQL、PHPを入れています。
    バージョンはそれぞれ、
    Apatch:2.4.38
    MySQL:5.6.43
    PHP:5.6.40
    となっています。

    今回うまくスタイルが当たっていないのは、サーバー側の方です。

    • この返信は5年、 5ヶ月前にonetimenameが編集しました。
    DRILL LANCER

    (@rickaddison7634)

    XAMMPでうまくいってサーバーで上手く行っていない・・・

    • XAMMP側でちゃんと表示されるものをサーバーにアップロードしましたか?
    • サーバー側のキャッシュの削除は行いましたか?(あればの話)

    後はサーバーの環境や設定を見直すと良いでしょう。
    apacheとmysqlの再起動を試すというのも有効かもしれません。

    トピック投稿者 onetimename

    (@mshibawordpress)

    ありがとうございます。
    ご指摘いただいた点を確認してみます。

    ちなみにですが、
    index.php、single.php、page.phpそれぞれにwp_head()とwp_footer()を記述するとスタイルが適用されるのですがなにか分かりますでしょうか?

    DRILL LANCER

    (@rickaddison7634)

    index.php、single.php、page.phpそれぞれにwp_head()とwp_footer()を記述するとスタイルが適用されるのですがなにか分かりますでしょうか?

    これはつまりget_header();get_footer();が機能していないということではないでしょうか?
    header.phpやfooter.phpに画面に何かを出力させるコードを追加してみてください。

    トピック投稿者 onetimename

    (@mshibawordpress)

    ありがとうございます。
    get_header()もget_footer()も機能していました。
    まだ何かあるかもしれないので、確認してみます。

15件の返信を表示中 - 1 - 15件目 (全15件中)
  • トピック「styleが反映されない」には新たに返信することはできません。