Consejos para crear un calendario de eventos se llevará a cabo dom
Categorías: su propia función
05/26/2010 Última actualización:
05/26/2010: Mensajes Sun
Como una imagen, si desea crear un calendario de eventos para establecer la fecha y la hora del evento que tuvo lugar propio en el campo personalizado, con respecto a ella. Si hay demanda, pero no sé, usted ha señalado provisionalmente.
Para establecer el campo personalizado se plantilla de campo personalizada que usted piensa se reduce significativamente un mal funcionamiento, si dicho uso.
(Por ejemplo, configurar una plantilla de campo personalizada)
[Sun celebrará]
type = campo de texto
fecha = true
dateFormat = dd-mm-aaaa
readOnly = true
Creo que la etiqueta de plantilla WordPress así que no hay condiciones sólo se pueden establecer dom publicado (tal vez), creo que para obtener los datos relativos al campo personalizado que necesita SQL Server.
SQL para obtener el ID del artículo se basa en la siguiente fecha, que se establece en el campo personalizado.
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 />';
}
これで特定の出演者(カテゴリー)のみの予定日を出せます。
もし間違っていたりしたら指摘していただけると嬉しいです。
- タグ
- WordPress備忘録 , イベント開催日 , カスタムフィールド
- トラックバックURL




























