WordPressに関する情報や技術紹介です

Συμβουλές για τη δημιουργία ενός χρονοδιαγράμματος των εκδηλώσεων θα πραγματοποιηθεί Κυρ

Ως μια εικόνα αν θέλετε να δημιουργήσετε ένα συμβάν ημερολογίου για να ρυθμίσετε την ημερομηνία και την ώρα της εκδήλωσης που πραγματοποιήθηκε στο δικό του το προσαρμοσμένο πεδίο, σε σχέση με αυτό. Αν υπάρχει ζήτηση, αλλά δεν ξέρω, έχετε διστακτικά σημείωσε.

 

Για να ρυθμίσετε το προσαρμοσμένο πεδίο είναι προσαρμοσμένο πρότυπο στον τομέα νομίζετε ότι έχει μειωθεί σημαντικά σε δυσλειτουργία εφόσον μια τέτοια χρήση.

(Για παράδειγμα, να ορίσετε ένα προσαρμοσμένο πρότυπο πεδίου)
[Sun που πραγματοποιήθηκε]
type = πεδίο κειμένου
= πραγματική ημερομηνία
DateFormat = εεεε-μμ-ηη
readonly = true

Νομίζω ότι το πρότυπο WordPress ετικέτα ώστε να μην υπάρχει κατάσταση μπορεί να ρυθμιστεί μόνο Δημοσιεύτηκε Κυρ (ίσως), νομίζω ότι για να πάρει τα δεδομένα σε σχέση με το προσαρμοσμένο πεδίο που χρειάζεται SQL.

SQL για να πάρει την ταυτότητα του άρθρου βασίζεται στην ακόλουθη ημερομηνία που έχετε ορίσει στο προσαρμοσμένο πεδίο.

global $wpdb;
$day = "2010-5"; // 2010年5月の予定日を取得
$key = "開催日"; // カスタムフィールドの名前が「開催日」とする

// 2010年5月に予定されている開催日と記事IDを取得
$results = $wpdb->get_results(
	"SELECT post_id, DATE_FORMAT(meta_value, '%e') AS date "
	. "FROM $wpdb->postmeta "
	. "WHERE meta_key='$key' AND DATE_FORMAT(meta_value, '%Y-%c')='$day' "
	. "ORDER BY date");

foreach($results as $result) {
	// 処理
	echo $result->date.'日 [ post_id -> '.$result->post_id.' ]<br />';
}

SQLに関しては自己責任で。もっとスマートな書き方があれば教えてください。

同じ日付で2つイベントがある場合には対応していませんので、そういう場合はもう少し改造が必要だと思います。

 

これでカスタムフィールドに設定した値から特定の月の予定日を全て取得できますので、「処理」のところでお好きなようにしてやれば色々幸せになれると思います。

 

次にカテゴリーで更に絞り込む場合です。
イメージとしては「出演者ごとにイベント予定カレンダーを表示したい」場合など。
出演者ごとにカテゴリーを割り振ったとして、以下のようにすれば取得できます。

global $wpdb;
$day = "2010-5";
$key = "開催日";
$cat_id = "3"; // カテゴリーID

$results = $wpdb->get_results(
	"SELECT pm.post_id, DATE_FORMAT(pm.meta_value, '%e') AS date "
	. "FROM $wpdb->term_relationships tr LEFT JOIN $wpdb->postmeta pm ON tr.object_id = pm.post_id "
	. "WHERE pm.meta_key='$key' AND DATE_FORMAT(pm.meta_value, '%Y-%c')='$day' AND tr.term_taxonomy_id=$cat_id "
	. "ORDER BY date");

foreach($results as $result) {
	// 処理
	echo $result->date.'日 [ post_id -> '.$result->post_id.' ]<br />';
}

これで特定の出演者(カテゴリー)のみの予定日を出せます。

もし間違っていたりしたら指摘していただけると嬉しいです。

タグ
, ,
トラックバックURL

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

ページTOPに戻る