WordPress サイトのタイトルが大文字になる?

WordPress でアフィリエイトを始めて早1か月。日々精進しております。

今日は、サイトタイトルを何度設定しても全部大文字になってしまうのを解決したお話を書きます。

Twenty Seventeen よ、何をやってくれてるんだ?

このサイトのタイトルは、「Cool Japan」なんです。まぁ、タイトルと中身の関連性が薄いと言った批判は甘んじて受けますが、その話は置いておいて。

WordPress 4.9.5 のデフォルトのテーマ、Twenty Seventeen を使っているのですが、「Cool Japan」で設定したはずのサイトタイトルが何故か「COOL JAPAN」になってしまうんです。設定ミスかと思い確認してもちゃんと「Cool Japan」で設定しています。

スタイルシートで何かやらかしてるなと思い調べました。そうしたところ、こんな記述がありました。調べたファイルは、

  • ドキュメントルート/wp-content/themes/twentyseventeen/style.css

です。

.site-title {
        clear: none;
        font-size: 24px;
        font-size: 1.5rem;
        font-weight: 800;
        line-height: 1.25;
        letter-spacing: 0.08em;
        margin: 0;
        padding: 0;
        text-transform: uppercase;
}

この中の 10行目(実際のファイルの中では 1589行目)に “text-transform: uppercase;” と書かれています。なんとなく、読んでわかりますよね。文字はすべて大文字にすると書かれています。

それでは、ここを修正しましょう。

ちょっと待った!

Twenty Seventeen の設定ファイルを直接修正するのは、お勧めではありません。理由は、ここ ↓↓↓ に書いてあります。

WordPress の子テーマを作成





ここを読んでいただき、子テーマをまずは作成してください。その子テーマに対して修正する方法のさわりについても「WordPress の子テーマを作成」で紹介しています。

スタイルシートでオーバーライド

それでは、子テーマのスタイルシートにその設定を書きましょう。必要な部分のみ書けばいいのですから、上の11行の中の10行目だけ書けばいいのです。と言いたいところですが、1行目と11行目も必要です。”text-transform: xxxx” だけだったら、何のテキストに対する設定かが分からないからです。”サイトタイトルの” と言うのが抜けてしまいます。

/* サイトタイトルがすべて大文字になってしまうのを防止   */
.site-title {
        text-transform: none;
}

書き足したのは、この4行です。1行目は備忘録のコメントです。3行目で “text-transform: none;” としています。”text-transform: ” には、次の設定が可能です。

No. 設定値 意 味
1 none そのまま表示します
2 capitalize 単語の先頭の文字のみ大文字で表示します
3 uppercase すべて大文字で表示します
4 lowercase すべて小文字で表示します
5 full-width すべての文字を全角で表示します

 

設定前後のサイトタイトルを見てください。

設定前

設定後

設定したとおりの大文字/小文字になりました。めでたし、めでたし。

いかがでしたでしょうか。”見た目” は肝心ですよね。他にも “見た目” を変える方法を次回以降順次紹介していきます。

200×200 高速大容量レンタルサーバ10G
mixhost







WordPress の子テーマを作成

WordPress でアフィリエイトを始めて早1か月。日々精進しております。

今日は、子テーマの作成について書きます。子テーマの作成は、本来の目的ではなく、テーマを自分なりに改造する上で絶対必要なので記事にしました。



なぜ絶対必要かを説明する前に、子テーマについて。

200×200 高速大容量レンタルサーバ10G
mixhost

子テーマてなんだ?

WordPress 4.9.5 を使っているのですが、デフォルトのテーマを使っていまだ私はサイトを作成しています。Twenty Seventeen です。なんのことはない、2017 ですね。2017年にリリースされたのかなと思いますが、そんなことを詮索してもしょうがないです。子テーマの話ですよね。

子テーマに入る前にテーマの ”見た目” についてちょと語りましょう。”見た目” ってでどうしても改善したいとか、ちょっと好みと違うと言うところが出てきます。その時、そのテーマが持っているサーバの中のファイル style.css を修正して対応することになります。このファイルは、WEB 業界の中では「スタイルシート」と呼ばれています。このファイルの中で、ほとんどの ”見た目” が決められています。これを修正すると、”見た目” を変えることができるのです。

ちょっと待った、スタイルシートに手を付けるな!

このスタイルシートに手を出すと、後で痛い目に合うんです。それは何故か。テーマにもバージョンと言うものがあります。Twenty Seventeen なら、2018/6現在 V1.6 です。このバージョンが近い?将来 V1.7 になったりするわけです。そのとき、”見た目” も一緒に修正されたりします。必ず修正されるわけではないですが。もし、修正された場合、前述の style.css も上書きされてしまう可能性です。やばいですよね、上書きされたら。せっかく修正したものが、水の泡と消えてしまいます。

子テーマを作ろう!

そこで子テーマの登場です。子テーマと言うくらいだから、親テーマがいるわけです。親の子は、血縁関係にあるので、”見た目”  も似てるのですが、微妙に違ったりもします。WordPress の中では、まず瓜二つのまったく親と同じ子テーマを作り、それをベースに ”見た目” を変えて、子としての個性を持たせるのです。そうすると、親がバージョンアップしたとしても、子は無事でいられるのです。

子テーマ作りの実際

前提条件

  • サーバのドキュメントルート配下にディレクトリを作成することができる
  • ファイルの作成やファイルのアップロードができる

これらのこできないとちょっと難しいかもしれません。

ディレクトリを作成するには、ssh などでサーバにログインして mkdir などのコマンドをたたく方法や、ftp や scp なんかも使えるかもしれません。

ファイルの作成は、ssh で入って、vi などのエディタを使ってファイルを作成するか、ftp や scp でクライアントPCで作成したファイルをアップロードするかです。

前提条件がクリアできたら実作業に入りましょう。

ディレクトリを作成する

作成する場所は、

ドキュメントルート/wp-content/themes

の下です。この下には、デフォルトで入っているテーマ用のディレクトリがあります。今回親として継承する元となる Twenty Seventeen 用のディレクトリ twentyseventeen もそこにあります。ここに、好きなディレクトリ名で作成します。日本語は避けたほうが無難かもしれません。また、継承元の親が誰なのかがある程度わかるようなディレクトリ名が良いかもしれませんね。ディレクトリを作成したら、親のディレクトリと、オーナー/グループ、パーミッションが同じであることを確認してください。違っていたら、chown や chmod で変更してください。Unix/Linux のコマンドの使い方まではここでは説明しませんので、google 先生に聞くなりしてください。





テーマに必要な最低限のファイルを作る

WordPress のテーマには、最低限必要な2つのファイルがあります。

1つは、functions.php。テーマの動きとか機能を定義してあるファイルです。

もう1つは、style.css。テーマの ”見た目” を定義してあるファイルです。

大そうなことを書きましたが、生まれたての 子 のファイルなんて大したことないんです。

  • functions.php。

まずは、functions.php。

<?php
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_parent_theme_file_uri() . '/style.css' );
}
?>

これは名にも考えずに作成してください。そして、ファイルのオーナ/グループ、パーミッションは親に合わせて設定してください。親は誰かは、この後説明します。

  • style.css

WordPress の世界はすごいです。子 が 親 を選べるんです。「産んでくれなんて頼んでない!」とか言わなくてもいいんです。自分で親は選べるんです。

話がそれましたが、親を定義するのはこの style.css ファイルなんです。中身はたったこれだけです。

/*
* Theme Name: twentyseventeen-X
* Template: twentyseventeen
* Theme URI: https://wordpress.org/themes/twentyseventeen/
* */

”見た目” もこのファイルで定義するのですが、最初は親とうり二つでよいので、何も ”見た目” は定義しなくても良いのです。

2行目で、子テーマの名前を “twentyseventeen-X” と定義しています。

3行目で、Template=親 を自分で選んでいます。デフォルトで入っている twentyseventeen です。” Twenty Seventeen” と書いてはだめです。

4行目で、親のがどこにあるのか、URI を定義しています。

 

これだけです。簡単ですよね。

子テーマのスタイルシートの中身は何も書いてなくても、親のTwenty Seventeen の情報を継承しています。Java などのオブジェクト指向言語の「継承」ですね。

子テーマを自分のサイトに適用する

子テーマが出来上がったら、自分のサイトに適用してみましょう。

ダッシュボード → 外観 → テーマ と進みます。

そうすると、作成した子テーマが親テーマとともに現れます。親テーマは、ヘッダー画像の観葉植物の鉢植えの写真が表示されています。作成した子テーマは、その下に出ています。子テーマはヘッダー画像も継承しているはずなんですが、この画像は出ません。なぜかは現在不明。ここでは、問題はないので次に進みます。

子テーマを適用すするには、子テーマの上にマウスを載せて、出てきたボタン「有効化」をクリックするだけです。

これで、自サイトに新しく作成したテーマが適用されました。

この時点では、親の ”見た目” をすべて継承しているので、何も変わらないはずです。継承されたものがデフォルトとして使用され、改めて指定/設定したものがオーバーライド、つまり上書きされるわけです。それで、子テーマのスタイルシートに、親に似せたくない設定のみ記述すればよいのです。

 

子テーマがここに表示されない場合は、初心に返って、ディレクトリの場所/パーミッション、2つのファイルの名前/パーミッションなどを確認してください。

子テーマの “見た目” を修正する方法

自分のサイトに子テーマを適用したら、後はお好きに “見た目” をカスタマイズしてください。その方法は、先ほど作成した “style.css” を編集するのです。この編集は、わざわざサーバに ssh なんかで入らなくても、vi を知らなくても大丈夫でです。

ダッシュボードから 外観 → テーマの編集 を選んでください。

そうすると、こんな画面になります。

先ほど作成した “style.css” が画面に出てきました。ここで直接編集して保存もできます。

具体的に、”見た目” のどこを変えるには、このファイルをどうするかと言う話は、事例を交えて次回以降紹介します。

今回は、”見た目”  を変えるための前準備として 子テーマの作成方法を書きました。WordPress 経験まだ2か月経過してないので、凝ったものは紹介できませんが、お付き合いください。






WordPress アフィリエイトリンク画像を横に並べる

WordPress でアフィリエイトを始めて早1か月。日々精進しております。

今日は、アフィリエイトのリンク画像を横に並べる方法をご紹介します。

HTML の <TABLE>~</TABLE> を使う

A8.net などアフィリエイトから広告リンクを取ってきて、ページのソースコードに埋め込んだりするわけですが、複数の広告を連続で入れると、縦に並んでしか表示されません。こんな感じですよね。








これを横に並べるにはどうするのでしょうか。答えは、HTML のテーブルを使うのです。他にもっと良い答えがあるかもしれませんが、今のところこれが解決策です。例えば、2つの広告を横に並べるには、以下のように書きます。

<TABLE border="0">
<TBODY>
<TR><TD>

広告①の HTML コード

</TD>
<TD>

広告②の HTML コード

</TD></TR>
</TBODY>
</TABLE>

テキストモードHTMLを書くって結構大変です。もうちょっといい方法がないか考えてみました。

TinyMCE Advanced を活用して並べる

テーブルで解決するのでから、テーブルを作成するプラグインを使えばもう少し楽になるのではと考え付きました。

表(テーブル)を作るプラグインは、TinyMCE Advanced と言うのがあります。これで、上の例なら、縦2列 横1行の表を作成して、その中にHTMLコードを埋め込めばいいじゃん!

TinyMCE Advanced については、ここでは詳しく書きませんが、高機能エディタと言うカテゴリに分類されるようなプラグインで、その中に表作成機能があります。これを入れると、こんなボタンと言うかメニューが現れます。

これを使って広告を2つ横に並べてみましょう。

①表を作成

マウスをクリックするとメニュが現れます。「テーブル」から右にずらすと、表みたいなのが現れるので、1行x2列を選択します。

そうすると、表が画面に現れます。

左のセルにまずは広告コードを入れてみます。左のセルをクリックして、カーソルが左セルにある状態にしてください。次に、ビジュアルの隣のテキストをクリックします。画面が、切り替わります。

2つのセルは、赤で囲った部分で表現されています。左のセルは上に行に、右のセルは下の行になっています。ビジュアル画面で左のセルにカーソルがあったので、その位置と同じところにテキスト画面でもカーソルが表示されています。上の行の ></td> のところです。ここに広告コードをペーストします。

大量のHTMLがペーストされるので、どこが左のセルで、どこが右のセルかわからなくなりそうですよね。でも大丈夫。後で説明しますが、ビジュアルに戻ればセル位置は明確になります。

ビジュアル画面に戻ると、広告の画像が左のセルに入っています。

今度は、右のセルに広告コードを入れます。右のセルをクリックしてから、テキストモードに変更します。

すると、カーソルが右セルを表す位置にちゃんと出てきます。間違って、他に位置に広告コードを入れる心配はありません。ここに2つ目の広告コードをペーストします。

ビジュアルモードに戻りましょう。

うまく行きましたでしょうか。2つの広告画像が横にならんで表示されていますね。

実際の WEB 画面ではこんな感じになります。

切り抜いてあるので、URL などは見えないです。

広告の周りに罫線が見えますが、この罫線は表のプロパティで枠線の値を 0 に設定すると消すことができます。後からでも変更可能です。





いかがでしたでしょうか。これで、あなたもアフィリエイトが ”出来る” 気になってきたでしょ! 早速上のバナーをクリックして A8.net に登録しましょう!。

200×200 高速大容量レンタルサーバ10G
mixhost

WordPressのPHPバージョンアップでハマった

このサイトも WordPress で作成しているのですが、なんせ始めたばかり。IT 歴はそれこそ四半世紀を超えているのですが、WordPress はまだまだ歯も生えてないかな。




Apache 、PHP 、WordPress でハマった

CentOS6.3 に WordPress4.9.5 を入れたのですが、元々PHP5.3.3 が既に入っていたのです。それで、PHP7.2.5 に上げようとして、yum で上げました。全然問題なく、php -v で見ると7.2.5に上がってます。よし、これで完了と思いきや、なにやら WordPress の動きがおかしい。

  • 外観 → カスタマイズ→サイト基本情報でサイトアイコンを登録しようとしたところ、推奨サイズの 512×512 のファイルのアップロード、メディアライブラリまでは登録できるのですが、サイトアイコンとして選択してもその先に進まず。
  • 同じく、推奨サイズの 512×512 以外のメディアライブラリに登録して選択をすると、画像切り抜きの画面に変わるのですが、「画像を切り抜く際にエラーが発生しました」とエラー出る。

こんな事象に遭遇したのです。しばらく解決策がわからず見て見ぬふりをしてしまったのですが、環境をもう一度確かめようと思い、まず PHP のバージョンや php-gd が認識されているか確認するため phpinfo 関数が入った “phpinfo.php” をドキュメントルートに入れて見てみました。中身は簡単、たった3行です。1行でもいいけど。

<?php
  phpinfo();
?>

“phpinfo.php” については、↓↓↓ この記事を参照してください。

WordPress ApacheとPHPの連携確認

200×200 高速大容量レンタルサーバ10G
mixhost

そしたらなんと、PHP7.2.5 のはずが、PHP5.3.3 じゃないですか。おまけに php-gd も認識されていない。これが原因かと言うことで、再度、シェル上で php -v を打ってみても7.2.5。う~ん、なんだろう。

答えは、Apache 側の設定でした。PHP5.3.3 は削除しているんですが、Apache のモジュールとしては残っていて、設定もそのままだったんです。

 #LoadModule php5_module modules/libphp5.so
 LoadModule php7_module modules/libphp7.so

/etc/httpd/conf/httpd.conf の中の php5 の行をコメントアウトして、php7 を追加。httpd を再起動して phpinfo.php で確認したところ、PHP7.2.5 が表示され、php-gd も無事認識されました。そして、2つの不具合も解消したわけです。

や~ハマった1週間。