めも:wordpress

2014/3/10 [10:22:24] (月) 天気

Wordpressの案件がふってきた。仕事はありがたく承り。

ただ、まるっきり初めてなので見当もつかず、まずはひたすら「googleさま詣で」となる。


・phpは以前VODの会社に所属していた時に少しいじったことがある程度。

・wordpressは初めて。

・この雑記帖やHappyReadingのようなサイトはperlで自作しているので、CMSもどきはなんとなく見当はつく。


というレベル。

クラウドソーシングのサイトを見ると、phpでワードプレスの開発案件がそれなりにある(開発案件というかテーマの制作やカスタマイズ)ので、今さらながら勉強しておくのもいいかな、と。


てことで、このエントリはメモや有用なリンクを都度追加。


公式「WordPress Codex 日本語版」

http://wpdocs.sourceforge.jp

URLとphpの関係が「テンプレート階層」にある。WordPressは命名規則で運用するっぽい。


「はじめてWordPressのオリジナルテーマを作るときの参考になればと思って書きました」

http://webdesignrecipes.com/first-time-wordpress-origin-theme/

こちらのサイトがとても丁寧でわかりやすい。テーマってHTMLをバラして部品ごとのphpに作るんだけど、シンプルなHTMLで解説。まさにこういうページを探していた。大感謝!

このページの通りに作ればシンプルなテーマができる。


固定ページやカテゴリトップ、サイドバーなどのカスタマイズのリクエスト対応はこれから。



[03/11 19:10:39]

カテゴリごとでトップページっぽいのが欲しいというリクエストがあって、各々固定ページを作るために…だけど、固定ページにはカテゴリが結びついていないっぽい。

しょうがないんで、テンプレの中に固定ページのページIDとカテゴリIDを紐づける配列を記述しておいて…。

get_the_IDとかthe_IDだと変数に放り込んでif文で分岐に使えないので、検索してみたらグローバル変数$postを使うんだそうだ…って、なんじゃそりゃ。postなんてありがちな名前をグローバルで使い回すって。


以前も思ったけど、phpって変数のスコープがどうなってんだか。あちこちでグローバルにされててバグの元でしかないだろ、これ。わたしのような素人プログラマ・日曜プログラマはなおさら。くさってんなあ。



[03/14 11:37:35]

カテゴリ毎で1ページに表示する投稿件数を変えると、ページャー(ページ送り)でNot Foundになる。

http://nakagaw.hateblo.jp/entry/20100710/1278803760


どうやら、問答無用で管理ページの表示件数分をまず取得するらしく。

テンプレートの中で取得する件数が2件だとすると、管理ページではそれ以下に設定する必要がある(1件)


<?php query_posts(’post_per_page=2&paged=’ . $paged); ?>

管理ページで設定すると当然すべてのページに適用されてしまうのでテンプレすべてに query_posts で取得件数を書く必要が出てくる。管理ページがあるんだから、そこで個別に表示件数の設定ができるようにするのが本当だな。

たぶん、当初はシンプルな作りだったところにあれこれ追加し継ぎ足ししてるうちにこんなことになったんだろう。やれやれ。


ページャーはウィジェット、プラグインを使わないシンプルなものがありがたい

http://kowappa.com/25

↑これはオススメ!


パンくずリストは

http://webdesignrecipes.com/wordpress-breadcrumb-list-tips/

↑こちら。

パンくずリストはイコールサイト構造の把握なので、このサイトの解説記事は必読熟読。


ギャラリーもやはりここがオススメ

http://webdesignrecipes.com/how-to-customize-wordpress-gallery/

デフォルトのギャラリーをアレンジする方法。

プラグインをブラックボックスで使うと、カスタマイズする時にハマりやすい。なので、デフォルト状態のものをシンプルに、そして直接編集して使うやり方がわかりやすくてうれしい。



[04/13 23:04:51]

ワードプレスの制約というか仕様に悶絶してしまった。


制作中のテストサイトとして http://example.com/test/ などというサブディレクトリにワードプレスをインストールして確認作業などをしていた。先方もここにコンテンツを投入。本番公開になったら、http://example.com/ でアクセスできるようにすれば大丈夫…と思ってた。


管理画面の設定で「サイトアドレス」をルートにして

・DNSの設定で、ルートを test/ に向ければいいだけだろ、と思ってやってみたら、ワードプレスのスタイルシートや画像などすべてのPATHが使い物にならなかった。


あれ?とか思って調べると、

「WordPressを専用ディレクトリに配置する」

http://wpdocs.sourceforge.jp/Giving_WordPress_Its_Own_Directory

というページを発見。

・この通りに index.php を書き換えてルートに置いてもいうことを聞いてくれない、というか真っ白で何も表示しない。


マルチサイトユーザーの方へ: 以下の手順はマルチサイトネットワークを有効化している場合には正しく適用されず、動作しません。

なんてことがさらっと書いてあって腰が抜けた。


検索しまくるとどうやらワードプレスは

・マルチドメインを使ってるようなサーバーで

・サブディレクトリにインストールしたものを

ルートとして扱えない、らしい。なんじゃそりゃ。


http://example.com/blog

なんちゅーURLで運用するならともかく、トップページ

http://example.com

として公開したいというリクエスト。


・さくらサーバーのメニューにある「クイックインストール」ではドキュメントルートにワードプレスをインストールできない。

・今からワードプレスをインストールし直し&登録し直しという手もあるけど、テストサイトでの確認が全部おじゃん(死語)となってしまうので時間的に無理。


で、結局、サブディレクトリにインストールしたワードプレスのファイル群すべてをドキュメントルートにコピーという力技でどうにか解決。



試行錯誤というか右往左往の最中に


その1。

「サイトアドレス」だけではなくて「WordPress アドレス (URL)」というのがあったのでこれも「サイトアドレス」に合わせなきゃいけないのかと思って変更したら、ワードプレスの管理画面にアクセスできなくて血の気が引いた。


PhpMyAdminでデータベース(MySQL)を覗いて「options」というテーブルの「siteurl」というカラムを直接書き換えて再度ワードプレスの管理画面にログインできるようになった。


その2。

index.phpとhtaccessが関係するのか、何も表示されずに真っ白になってしまった。

htaccessは削除して、index.phpはインストールされた直後のタイムスタンプで何もいじってないものをコピーしたら表示するようになった…ってそんなことあるのか?index.phpのタイムスタンプなんて見てるとも思えないし、頭に血が昇って違うことをやってしまったんだと思う。


とりあえず、そんな時大事なのは初期状態。ごそごそいじる前に「動いている状態」のものはバックアップをとっておくべきだった。



ワードプレスはたしかに良く出来てると思う。けど、パッケージなので、何かあった時が面倒くさい、てかクソだった。


<<2026/1>>
    123
45678910
11121314151617
18192021222324
25262728293031
検索:

【最近の20件】