wordpress
wordpressに関する内容を書いてます。
投稿データをJSONとして保存しておく
0テーマをGitで管理する際に
各種投稿データも保存したいのですが、毎回データをSQLに吐き出すのも大変なので
投稿を保存する際にsave_postでフックしてjsonで指定場所に出力するようにしました。
(さらに…)
【メモ】ACFでフロントエンドを作成する際の注意点
0ACF proにあるacf_form機能でフロントエンドのエディタ画面が作れますが
タイトルとコンテンツの題名が英語でした。 Title Content等
この部分を変更したいこともあるので(例えばメルマガ用などでtitleをメールタイトルにするなど)
調べた所なかなか見つからず、やっと見つけた結果、acf_formの前で
//タイトル題名 $acf->local->add_field(array("key"=>"_post_title","name"=>"_post_title","label"=>"タイトル")); //本文題名 $acf->local->add_field(array("key"=>"_post_content","name"=>"_post_content","label"=>"本文"));
これで行ける模様
親要素を指定したページテンプレートを作成する(template_hierarchy)
0wordpress4.7の新機能でtemplate_hierarchyというフィルターが追加されていました。
これは読み込むテンプレートを操作できるもので、これは色々おもしろいことができないかなとかんがえていたら
下記の投稿をみつけました。
固定ページで親子関係を作った時にheader内の条件分岐で、子ページすべてに親と同じスタイルシートを追加したい
そういえばページテンプレートで親要素を指定したテンプレートは無いなと思い実装してみることにしました。
WordPressのデータベース構造はクソなのか?
0色々なブログを巡っているとふと興味深い記事を見つけました。
実は、このテーブルにはありとあらゆるデータが放り込まれ、どのようなデータか、つまりデータの意味はTYPE_CODEで判断するという代物でした。
これはWordpressのpost_metaテーブルも同じ構造となっています。
(post_idとmeta_keyとmeta_value)
上の記事の最大の問題は日付データが年月日時分秒がバラバラにデータに入っているために範囲検索が
しにくい点なのでその点ではまごうことなきクソですが、
メインとなる投稿データがあり、後から任意の項目が動的に増減させる今のタイプの構造は割りと便利だと思っていたのですがデータベース的にはあまり美しくないのでしょうか?
ただ、カスタムフィールドテーブルにも注文を付けるなら更新した日時を保存してほしいと思うことはあります。
特定期間に更新されたメタデータというのを抽出したくなることがたまにあるので。
save_postとsave_post_{post_type}の注意点
0とあるカスタム投稿を作成して保存時にメタデータを作成しようと
save_postにフックしようと思いました。
しかし調べるとsave_post_{post_type}で特定投稿タイプの保存時のみにフックできることが判明。
いちいちsave_post後に分岐させずに済むのでこっちを採用することにしましたがためしてみると
うまく動作しません。
(さらに…)
wpdbで新しいデータベースにアクセスする時の注意点
0wordpressではwpdbクラスを使うことでデータベースにアクセスできます。
しかし何らかの理由で別のデータベースにあるWordpressにアクセスする必要がでてくる場合があります。
そこでnew wpdbで新しくwpdbクラスを作成しようとしたのですが
$wpdb2 = new wpdb(DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
で新しいデータベースにアクセス出来るはずなのにうまく動きません(DB~は新しいデータベース情報)
(さらに…)
ダッシュボードに画像アップロード可能ボックスを追加(テスト版)
0以前メディアアップローダーを使ってカスタムフィールドに画像を登録する。で投稿にメディアアップローダーを追加したのですが、投稿ではなくサイトにバナー等の画像として画像をアップロードしたのを保存しておきたいなと思いちょっとカスタマイズしてみました。
検索フォームを投稿タイプごとに分ける。
0カスタム投稿を複数使っていると投稿タイプ毎に検索をかけたい時が出てきます。
しかしWordpressは一つのsearch.phpしかテンプレートが用意されていません。
検索結果の表示をカスタム投稿毎に分けたい場合はカスタマイズが必要です。
管理バーにテーマ切り替えを追加する
0旧テーマから新しいテーマを作りなおす際にテーマを切り替えて確認していたりしたのですが
もうちょい楽に切り替えられないかなと調べていたらちょうどいいのがありました。
メディアアップローダーを使ってカスタムフィールドに画像を登録する。
4WordPress3.5あたりでメディアアップローダーが改善して自作でメタボックスに設置しやすくなりました。
ただ、メディアアップローダー周りのマニュアルが少なく、色々なサイトを参考に試行錯誤していました。
(さらに…)