Elke jaar op de een na laatste dag van het jaar wordt het Tolsma’s dart toernooi georganiseerd. Dit jaar zal de 5e editie van dit altijd erg gezellige toernooi plaats vinden. Vorig jaar werd er al flink wat ge’tweet over het Tolsma’s dart toernooi. Om die reden zal er dit jaar een Twitterfountain aanwezig zijn.
Maand: december 2010
Via Gravity Form is het mogelijk om je bezoekers (concept)berichten te laten plaatsen. Je kunt hierbij gebruik maken van verschillende vooraf gedefinieerde velden. Helaas is het nog niet mogelijk om custom posts aan te maken. Gelukkig is deze functionaliteit met behulp van filters en hooks wel te realiseren.
function custom_gform_set_post_type($post_data, $form) { $classes = explode(' ', $form['cssClass']); $items = apply_filters('custom_gform_post_type_classes', array()); foreach($items as $class => $post_type) { if(in_array($class, $classes)) { $post_data['post_type'] = $post_type; } } return $post_data; } add_filter('gform_post_data', 'custom_gform_set_post_type', 10, 2);
Vervolgens kun je met behulp van de volgende filter CSS classes koppelen aan een custom post type.
function dvt_gform_post_type_classes($ptc) { $ptc['opponent-form'] = 'opponent'; return $ptc; } add_filter('custom_gform_post_type_classes', 'dvt_gform_post_type_classes');
Via Gravity Form is het mogelijk om je bezoekers (concept)berichten te laten plaatsen. Je kunt hierbij gebruik maken van verschillende vooraf gedefinieerde velden. Helaas is er nog geen standaard veld beschikbaar voor custom post types en taxonomies. Gelukkig is deze functionaliteit met behulp van filters en hooks wel te realiseren.
Populate dropdown
function custom_gform_dropdown_terms($arguments, $withEmpty = true) { $terms = get_terms($arguments); $items = array(); if($withEmpty) { $items[] = array('text' => '', 'value' => ''); } foreach($terms as $term) { $items[] = array('value' => $term->term_id, 'text' => $term->name); } return $items; } function custom_gform_populate_dropdown($form) { $items = apply_filters('custom_gform_taxonomies_classes', array()); foreach($form['fields'] as &$field) { $classes = explode(' ', $field['cssClass']); foreach($items as $class => $taxonomy) { if(in_array($class, $classes)) { $field['type'] = 'select'; $field['choices'] = custom_gform_dropdown_terms($taxonomy); } } } return $form; } add_filter('gform_pre_render', 'custom_gform_populate_dropdown');
Koppel CSS class met taxonomy
Vervolgens kun je met behulp van de volgende filter CSS classes koppelen aan een taxonomy.
function dvt_gform_taxonomy_classes($tc) { $tc['taxonomy-level'] = 'level'; $tc['taxonomy-region'] = 'region'; return $tc; } add_filter('custom_gform_taxonomies_classes', 'dvt_gform_taxonomy_classes');
Terms opslaan per post
Tot slot zorgt het volgende code fragment er voor dat de terms worden opgeslagen bij de betreffende post.
function custom_gform_save_terms($lead, $form) { // Check if the submission contains a WordPress post if(isset($lead['post_id'])) { $items = apply_filters('custom_gform_taxonomies_classes', array()); foreach($form['fields'] as &$field) { $classes = explode(' ', $field['cssClass']); foreach($items as $class => $taxonomy) { if(in_array($class, $classes)) { $value = (int) $lead[$field['id']]; wp_set_object_terms($lead['post_id'], $value, $taxonomy); } } } } } add_action('gform_post_submission', 'custom_gform_save_terms', 10, 2);