Tax Meta
class staff_department_metafields {
public function __construct() {
if ( is_admin() ) {
add_action( 'staff_add_form_fields', array( $this, 'create_screen_fields'), 10, 1 );
add_action( 'staff_edit_form_fields', array( $this, 'edit_screen_fields' ), 10, 2 );
add_action( 'created_staff', array( $this, 'save_data' ), 10, 1 );
add_action( 'edited_staff', array( $this, 'save_data' ), 10, 1 );
}
}
public function create_screen_fields( $taxonomy ) {
// Set default values.
$staff_department_order = '';
// Form fields.
echo '<div class="form-field term-staff_department_order-wrap">';
echo ' <label for="staff_department_order">' . __( 'Abteilungen nach Wichtigkeit geordnet (hohe Werte für höchste Abteilungen)', 'ap_theme' ) . '</label>';
echo ' <input type="text" id="staff_department_order" name="staff_department_order" placeholder="' . esc_attr__( '', 'ap_theme' ) . '" value="' . esc_attr( $staff_department_order ) . '">';
echo ' <p class="description">' . __( 'Die Gewichtung dieser Abteilung eingeben (hohe Werte für höchste Abteilungen)', 'ap_theme' ) . '</p>';
echo '</div>';
}
public function edit_screen_fields( $term, $taxonomy ) {
// Retrieve an existing value from the database.
$staff_department_order = get_term_meta( $term->term_id, 'staff_department_order', true );
// Set default values.
if( empty( $staff_department_order ) ) $staff_department_order = '';
// Form fields.
echo '<tr class="form-field term-staff_department_order-wrap">';
echo '<th scope="row">';
echo ' <label for="staff_department_order">' . __( 'Abteilungen nach Wichtigkeit geordnet (hohe Werte für höchste Abteilungen)', 'ap_theme' ) . '</label>';
echo '</th>';
echo '<td>';
echo ' <input type="text" id="staff_department_order" name="staff_department_order" placeholder="' . esc_attr__( '', 'ap_theme' ) . '" value="' . esc_attr( $staff_department_order ) . '">';
echo ' <p class="description">' . __( 'Die Gewichtung dieser Abteilung eingeben (hohe Werte für höchste Abteilungen)', 'ap_theme' ) . '</p>';
echo '</td>';
echo '</tr>';
}
public function save_data( $term_id ) {
// Sanitize user input.
$staff_new_department_order = isset( $_POST[ 'staff_department_order' ] ) ? sanitize_text_field( $_POST[ 'staff_department_order' ] ) : '';
// Update the meta field in the database.
update_term_meta( $term_id, 'staff_department_order', $staff_new_department_order );
}
}
new staff_department_metafields;