Snippets
Created by
Martin Urbánek
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | <?php
// meta
function moznosti_rizikovosti(){
return array(
'1' => '1',
'2' => '2',
'3' => '3',
'4' => '4',
'5' => '5',
'6' => '6',
'7' => '7',
'8' => '8',
'9' => '9',
'10' => '10'
);
}
// add_action( '{slug taxonomie}_add_form_fields', 'add_hodnoceni_rizikovosti_field', 10, 2 );
add_action( 'programy_add_form_fields', 'add_hodnoceni_rizikovosti_field', 10, 2 );
function add_hodnoceni_rizikovosti_field($taxonomy) {
$hodnoceni_rizikovostis = moznosti_rizikovosti();
?><div class="form-field term-group">
<label for="featuret-group"><?php _e('Rizikovost', 'text_domain'); ?></label>
<select class="postform" id="equipment-group" name="hodnoceni-rizikovosti">
<option value="-1"><?php _e('none', 'text_domain'); ?></option>
<?php foreach ($hodnoceni_rizikovostis as $_group_key => $_group) : ?>
<option value="<?php echo $_group_key; ?>" class=""><?php echo $_group; ?></option>
<?php endforeach; ?>
</select>
</div><?php
}
// Ukládání při tvorbě kategorie
// created_{$taxonomy}
add_action( 'created_programy', 'save_feature_meta', 10, 2 );
function save_feature_meta( $term_id, $tt_id ){
if( isset( $_POST['hodnoceni-rizikovosti'] ) && '' !== $_POST['hodnoceni-rizikovosti'] ){
$group = sanitize_title( $_POST['hodnoceni-rizikovosti'] );
add_term_meta( $term_id, 'hodnoceni-rizikovosti', $group, true );
}
}
// Přidání do editace kategorie
// {$taxonomy}_edit_form_fields
add_action( 'programy_edit_form_fields', 'edit_hodnoceni_rizikovosti_field', 10, 2 );
function edit_hodnoceni_rizikovosti_field( $term, $taxonomy ){
$hodnoceni_rizikovostis = moznosti_rizikovosti();
// get current group
$hodnoceni_rizikovosti = get_term_meta( $term->term_id, 'hodnoceni-rizikovosti', true );
?><tr class="form-field term-group-wrap">
<th scope="row"><label for="hodnoceni-rizikovosti"><?php _e( 'Rizikovost', 'my_plugin' ); ?></label></th>
<td><select class="postform" id="hodnoceni-rizikovosti" name="hodnoceni-rizikovosti">
<option value="-1"><?php _e( 'none', 'my_plugin' ); ?></option>
<?php foreach( $hodnoceni_rizikovostis as $_group_key => $_group ) : ?>
<option value="<?php echo $_group_key; ?>" <?php selected( $hodnoceni_rizikovosti, $_group_key ); ?>><?php echo $_group; ?></option>
<?php endforeach; ?>
</select></td>
</tr><?php
}
// Ukládání v editaci
add_action( 'edited_programy', 'update_feature_meta', 10, 2 );
function update_feature_meta( $term_id, $tt_id ){
if( isset( $_POST['hodnoceni-rizikovosti'] ) && '' !== $_POST['hodnoceni-rizikovosti'] ){
$group = sanitize_title( $_POST['hodnoceni-rizikovosti'] );
update_term_meta( $term_id, 'hodnoceni-rizikovosti', $group );
}
}
// Zobrazení ve výpisu v administraci taxonomie
// manage_edit-{$taxonomy}_columns
add_filter('manage_edit-house_feature_columns', 'add_hodnoceni_rizikovosti_column' );
function add_hodnoceni_rizikovosti_column( $columns ){
$columns['hodnoceni_rizikovosti'] = __( 'Rizikovost', 'my_plugin' );
return $columns;
}
add_filter('manage_programy_custom_column', 'add_hodnoceni_rizikovosti_column_content', 10, 3 );
function add_hodnoceni_rizikovosti_column_content( $content, $column_name, $term_id ){
$hodnoceni_rizikovostis = moznosti_rizikovosti();
if( $column_name !== 'hodnoceni_rizikovosti' ){
return $content;
}
$term_id = absint( $term_id );
$hodnoceni_rizikovosti = get_term_meta( $term_id, 'hodnoceni-rizikovosti', true );
if( !empty( $hodnoceni_rizikovosti ) ){
$content .= esc_attr( $hodnoceni_rizikovostis[ $hodnoceni_rizikovosti ] );
}
return $content;
}
add_filter( 'manage_edit-house_feature_sortable_columns', 'add_hodnoceni_rizikovosti_column_sortable' );
function add_hodnoceni_rizikovosti_column_sortable( $sortable ){
$sortable[ 'hodnoceni-rizikovosti' ] = 'hodnoceni-rizikovosti';
return $sortable;
}
|
Comments (0)
You can clone a snippet to your computer for local editing. Learn more.