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