【Twenty Seventeenのちょこっとカスタマイズ】Powered by を書き換える

ひさびさにWordpressを弄っています。色々と変わりましたね。
子テーマとか楽しいなあ。カスタマイズがらくちん。だけれど忘れてしまうのでメモしておこうと思います。(子テーマの作り方は公式サイトなどを参考にしてください。)

Twenty Seventeen、とても良いテーマです。というか、4.7が良いのかな。子テーマまで踏み込まなくてもかなり簡単に色々とカスタマイズ出来ますね。

とはいえ、自分色に思う存分染められるのがWordpressの醍醐味。というわけで、先ずはちょっと申し訳ない気持ちは持ちつつも「Proudly powered by WordPress」をさくっと変更してしまいましょう。子テーマは作っておいてくださいね(このぐらいの変更なら直接親テーマをいじってしまっても良いでしょうけれど)。

Twenty Seventeenのソースの中から該当するファイルを見つけます。

/wp-content/themes/twentyseventeen/template-parts/footer/site-info.php

を子テーマ(ここではtwentyseventeen-child)にコピーします。 “【Twenty Seventeenのちょこっとカスタマイズ】Powered by を書き換える” の続きを読む

WORDPRESSのDBをローカルに落とした時に変更する箇所

wordpressのDBを本番サーバーからコピーしてローカルに突っ込んでテストする、ということがありますが、
そのままだとローカルのwordpressではなく本番サーバーのwordpressにログインしてしまうので
2箇所ほどDBを弄る必要があります。

とっても簡単で、テーブル名「wp_options」の「home」と「siteurl」を本番のURLからローカルのURLへと書き換えるだけ。

なんだけれど、忘れやすいのでメモ。

WORDPRESSの投稿サムネイルについて

WORDPRESSの2.9から追加された投稿サムネイルの機能を今頃しったのでメモ。

テーマのfunction.phpに

if ( function_exists( 'add_theme_support' ) ) { 
  add_theme_support( 'post-thumbnails' ); 
}

を追加すると投稿画面の右下側に「アイキャッチ画像」という項目が追加される。

表示させるfunctionは
基本はループの中で

the_post_thumbnail

を使う。

ループの外や、変数に読み込みたい時などは

get_the_post_thumbnail

URLだけ欲しい時は

$medium_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(get_the_ID()), 'medium');
$main_image = $medium_image_url[0];

とかしてattachment関連の関数を使う。

参照ページ:

“WORDPRESSの投稿サムネイルについて” の続きを読む

wordpressのis_front_page() と is_home()の出番って…

wordpressのトップページの判別に is_front_page() と is_home()という条件分岐タグがありますが、動きが変なのでちょっと困った件。

基本的な動きのテストはこちらのページなどを参照。

is_front_page() と is_home() – swhrykの日記

ということでもともと取り扱い注意なややこしさをお持ちのタグなのですが、この上に、間にquery_postsを使うとfalseを返してくれちゃうので、あんまり使えるケースが無い気がします。。。
私の使い方が良くないのかしら。。。

トップページをindex.phpで作成していて、sidebar.phpで判別させたかったのですがquery_posts満載で当然使えなかったというケースでは、index.phpで変数にtrueを渡して、sidebar.phpでglobalにして判別させる、という手を使ってみました。

ただし、バージョン2.9.1でのお話なので、最新版だと解消されてるかも?と期待をしています(が、上記のケースではカスタムし過ぎて迂闊にバージョンアップ出来ないので未確認です)。

参照:
Conditional Tags « WordPress Codex

WordPressで限定公開する「Role Manager」「Private WP 2」

WordPressで会員制のサイトを作成する方法を試してみました。
プラグインで手軽に実現するなら、以下の2つ。

サイト全体を限定公開するならば
Private WP 2 をインストールしてRSS フィードも含めてログインしているユーザーしかブログにアクセスできないようにする。

一部を限定公開にするならば
WordPress Plugins/JSeries » Role Manager 日本語版 をインストールして、購読者をカスタマイズ。公開状態を非公開に設定した記事も閲覧出来るように(Read Private Pages, Read Private Postsを有効にすればOK)。

どちらもバージョン 2.9.1で動きました。
ただし、画像ファイルなどは完全に非公開になっていないので注意。
設定 > プライバシー を「

CentOS5で動かしてるWordPressをsFTP経由で自動アップデート

peclのssh2ライブラリを導入すると、WordpressでsFTP経由の自動アップデートが出来が利用可能になります。

まずlibssh2のインストール。

# wget http://surfnet.dl.sourceforge.net/sourceforge/libssh2/libssh2-1.0.tar.gz
# tar -zxvf libssh2-1.0.tar.gz
# cd libssh2-1.0/
# ./configure
# make
# make install

libssh2のインストールが出来たらpecl-ssh2のインストール

pecl install -f ssh2

/etc/php.iniで、

extension=ssh2.so

を有効化し、Apacheの再起動

/etc/init.d/httpd restart

で完了。

これで、プラグイン、テーマ、wordpress本体のsFTP経由自動アップデートが利用出来ます。