Posts tagged カスタマイズ
wp_insert_postとカスタムフィールド
0wp_insert_postでカスタム投稿にTwitterのログを投稿し、ハッシュタグと名前をカスタム分類として投稿するのにも成功しました。
次は情報としてユーザーの画像、更新日時、Twitterの投稿ID、どこから投稿されたかの情報などをカスタムフィールドとして登録しようかと思いました。
wp_insert_postではカスタムフィールドは登録できません。カスタム投稿はpost_metaテーブルに保存されているからです。
というわけで、前回と同じく返り値のIDからadd_post_metaを使いカスタムフィールドを登録しました。
・・・が、登録成功しているはずなのにデータが表示されない。おかしい。
更新日時は表示される。ユーザーの画像URLなどが表示されない。はて?
データベースを直接見てみて原因発覚。
データを扱いやすくするために、Twitterから受け取ったデータをsimplexml_load_stringでオブジェクトに代入してました。
そしてそのままカスタムフィールドに値を入れたのでデータがオブジェクトとして入ってました。データ形式を変更して解決。
次は保存したデータを使って実際に表示していきたいと思います。
wp_insert_postとカスタム分類
1先日、カスタム分類をTaxInputで登録できるはずなのに全然うまくいかないで困っていました。
結局よくわからなかったのと、よく考えたら後からカスタム分類を別個追加したほうが楽なんじゃないかと気が付き、方法を変更しました。
$id = wp_insert_post($post_data); wp_set_object_terms($id,$tags,'hash_tag');
wp_insert_postは返り値にpost_idを返します。そこで、投稿設定をした後にそのpost_idで
wp_set_object_termsを使いカスタム分類を追加しています。これはhash_tagというカスタム分類に$tagsの内容を登録しています。
これでハッシュタグ(ついでにユーザー名も)を関連付けた投稿をポストすることに成功しました。
次の問題は一日に呟かれる設定ワードの呟きが100~200件程あるのであっという間に1万件近いデータになってしまうことです。
だいたい一ヶ月相当として5000件あたりをめどに自動で古い投稿を消すべきなのか、蓄積しても大丈夫なのか・・・
あまりデータ量が多くなってパフォーマンスが下がっては本末転倒なので、一定投稿数をこえたらバックアップをとって削除というのがスマートなのかもしれません。
wp_insert_post()とTax_input
0現在TwitterのAPIからデータを取得して
タイトルと本文に内容、カスタム分類でハッシュタグとユーザー名を登録しています。
カスタム分類の登録には前述したTax_inputに値を入れればいいみたいなので入れて確認していたのですが
いざ動かしてみると本文波頭録されるがカスタム分類が登録されない。
あれ?おかしいな。テストしたときは上手く動いたのですが・・・
テスト時と違うとしたらカスタム分類の項目が増えたことでしょうか。
複数項目の場合の設定がおかしいのかもしれません。現在必死に調査中です。
WordPressの外部からポストできる関数wp_insert_post()
1Wordpressにはwp_insert_postという関数があります。
これを使うと外部から投稿フォームを作ったりプラグインから投稿フォームを作ったりすることができます。
*参考
wp_insert_postリファレンス
81行から成るWordPressの自作投稿フォーム
しかしこの記述だとカスタム投稿やカスタム分類に対応してないように見えます。投稿された内容が3.0以前の話なので当然ですが
調べるとちゃんとカスタム投稿とカスタム分類も対応しています。(というか、普通の投稿もこの関数を使用しているわけで対応していないとおかしい)
というわけで自分的メモで
カスタム投稿はwp_insert_post( $my_post );
$my_post = array(‘post_type’=>’カスタム投稿名’);
でOKでした。
カスタム分類は少しややこしくて
tax_input=>array(‘カスタム分類A’=>値,’カスタム分類B’=>値)
という形になるようです。
これを利用して現在Twitterからのログを取得してそれをカスタム投稿にログとして残す実験なんかしています。
ユーザー別のメモ用カスタム投稿タイプを追加する。
0Wordpressを長く使っていると色々とメモをしたくなることもあります。
管理画面でのメモにはWordmemoというプラグインを使ったりしていたのですが、全ての管理画面が見れるユーザーに表示されてしまいますし、一つしか表示されません。
というわけで、カスタム投稿を利用してログインしたユーザーのみが表示されるメモを作成したいと思います。
(さらに…)
管理画面の上部にカスタム投稿への投稿リンクを追加する。
0管理画面のこんにちは~さんの左に表示されている投稿やページへのリンクを利用しているでしょうか?
自分は使っていませんw
でも使っている人がいて、ここに投稿だけじゃなくてカスタム投稿へのリンクもあればなあと思うこともあるかもと思い、
カスタム投稿への新規リンクも追加しました。
(さらに…)
ダッシュボードにカスタム投稿の件数を表示する。
0WordPress3.0になって時間もたち、カスタム投稿を使う機会も増えてきました。
今までカテゴリーで分けていたのも、ガンガンカスタム投稿やらカスタム分類やらでわけているわけですが、若干不便だと思ったのが
ダッシュボードの現在の状況に投稿とページの件数しか表示されないこと。出来ればここにカスタム投稿も追加させたい。
というわけでカスタム投稿の件数も表示できるようにカスタマイズしてみました。