ひまつぶし雑記帖

doncha.net制作・発行:KindleやiBooks、楽天kobo、BOOK☆WALKERで読む電子書籍

めも:wordpress

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

Wordpressの案件がふってきた。仕事はありがたく承り。
ただ、まるっきり初めてなので見当もつかず、まずはひたすら「googleさま詣で」となる。

・phpは以前VODの会社に所属していた時に少しいじったことがある程度。
・wordpressは初めて。
・この雑記帖やHappyReadingのようなサイトはperlで自作しているので、CMSもどきはなんとなく見当はつく。

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

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

公式「WordPress Codex 日本語版」
https://wpdocs.sourceforge.jp
URLとphpの関係が「テンプレート階層」にある。WordPressは命名規則で運用するっぽい。

「はじめてWordPressのオリジナルテーマを作るときの参考になればと思って書きました」
https://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になる。
https://nakagaw.hateblo.jp/entry/20100710/1278803760

どうやら、問答無用で管理ページの表示件数分をまず取得するらしく。
テンプレートの中で取得する件数が2件だとすると、管理ページではそれ以下に設定する必要がある(1件)

管理ページで設定すると当然すべてのページに適用されてしまうのでテンプレすべてに query_posts で取得件数を書く必要が出てくる。管理ページがあるんだから、そこで個別に表示件数の設定ができるようにするのが本当だな。
たぶん、当初はシンプルな作りだったところにあれこれ追加し継ぎ足ししてるうちにこんなことになったんだろう。やれやれ。

ページャーはウィジェット、プラグインを使わないシンプルなものがありがたい
https://kowappa.com/25
↑これはオススメ!

パンくずリストは
https://webdesignrecipes.com/wordpress-breadcrumb-list-tips/
↑こちら。
パンくずリストはイコールサイト構造の把握なので、このサイトの解説記事は必読熟読。

ギャラリーもやはりここがオススメ
https://webdesignrecipes.com/how-to-customize-wordpress-gallery/
デフォルトのギャラリーをアレンジする方法。
プラグインをブラックボックスで使うと、カスタマイズする時にハマりやすい。なので、デフォルト状態のものをシンプルに、そして直接編集して使うやり方がわかりやすくてうれしい。


[04/13 23:04:51]
ワードプレスの制約というか仕様に悶絶してしまった。

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

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

あれ?とか思って調べると、
「WordPressを専用ディレクトリに配置する」
https://wpdocs.sourceforge.jp/Giving_WordPress_Its_Own_Directory
というページを発見。
・この通りに index.php を書き換えてルートに置いてもいうことを聞いてくれない、というか真っ白で何も表示しない。

マルチサイトユーザーの方へ: 以下の手順はマルチサイトネットワークを有効化している場合には正しく適用されず、動作しません。
なんてことがさらっと書いてあって腰が抜けた。

検索しまくるとどうやらワードプレスは
・マルチドメインを使ってるようなサーバーで
・サブディレクトリにインストールしたものを
ルートとして扱えない、らしい。なんじゃそりゃ。

https://example.com/blog
なんちゅーURLで運用するならともかく、トップページ
https://example.com
として公開したいというリクエスト。

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

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


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

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

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

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

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


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

»電子書籍制作代行についてはこちら

profile

profile

 
doncha.net
contact:
»運営者
@t2aki@tokoroten.doncha.net

ところてんx5

2024/4/19 07:15

ソフィーの世界を電子書籍で購入。
いや、大学1年の時の授業で1年間これをテキストにやったんだけど、東京にきて初めて、ガイジンの先生が新鮮で、というだけだったんだよなあ。なもんで、懐かしさもあり、再読してみる

2024/4/18 10:46

今日から深夜三連勤…これがやっぱ生活のリズムの乱れになる。疲れが取れないんだよなあ。夜中に帰って飲み食いしちゃうし。寝る前の飲食は健康の敵だわ。なんか考えないと身体がもたん。

2024/4/18 10:43

ステージに実装しておいた問い合わせフォームも本番適用、てことで朝っぱらから仕事。
データベースも使ってないし、サニタイズは最低限で大丈夫っぽい。不等号記号あたりの記号ぐらい。

検索
<<2024/4>>
 123456
78910111213
14151617181920
21222324252627
282930

リンク

WINDOWS版サウンドノベル
おかえりください PC WINDOWS版サウンドノベル
『おかえりください』体験版