wp Custom Post Types
Hi, ich habe einen Fehler beim Erstellen eines neuen Custom Post Types.
Es sollen im Formular rechts eine Checkbox und ein Input-Feld angezeigt werden. Aber genau das tut es nicht.
PHP-Code:
<?php
/*
Plugin Name: SP_Repertoire
Plugin URI: http://lugm.de/
Description: Das <strong>Repertoire</strong> ist zum verwalten der Märsche für den <a href="lspz.de">Spielmannszug der Stadt Bad Langensalza e.V.</a> erstellt worden.
Version: 10.06.2014
Author: Lutz Müller
Author URI: http://lugm.de/
License: GNU/GPL Version 2 or later
License URI: http://www.gnu.org/licenses/gpl.html
Min WP Version: 3.5
Max WP Version: 3.5
*/
####################################################
add_action( 'init', 'codex_repertoire_init' );
/**
* Register a Repertoire post type.
*
* @link http://codex.wordpress.org/Function_Reference/register_post_type
*/
function codex_repertoire_init() {
$labels = array(
'name' => _x('Repertoire', 'post type general name'),
'singular_name' => _x('Marsch',
'post type singular name'),
'add_new' => _x('Hinzufügen','Marsch'),
'add_new_item' => _('Neuer Marsch'),
'edit_item' => _('Bearbeite Marsch'),
'new_item' => _('Neuer Marsch'),
'all_items' => _('Anzeigen'),
'view' => _('Märsche ansehen'),
'view_item' => _('Märsche ansehen'),
'search_items' => _('Marsch suchen'),
'not_found' => _('Keine Märsche gefunden'),
'not_found_in_trash' => _('Keine Märsche im Papierkorb'),
'parent' => _('Parent Marsche'),
'parent_item_colon' => _('Home'),
'menu_name' => _('Repertoire'),
);
$args = array(
'labels' => $labels,
'_builtin' => false,
'public' => false,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => array("slug" => "maersche", "with_front" => false),
'permalink_epmask' => EP_PERMALINK,
'menu_icon' => WP_PLUGIN_URL . "/" . basename(dirname(__FILE__)) . '/images/marsch.png',
'capability_type' => 'post',
'has_archive' => false,
'hierarchical' => false,
'menu_position' => 25,
'supports' => array( 'title','editor' )
);
register_post_type( 'marsch', $args );
}
add_action('save_post', 'cpt_repertoire_daten_speichern');
add_action("admin_init", "cpt_repertoire_meta_boxen");
function cpt_repertoire_meta_boxen(){
add_meta_box( "visibility-meta" // Das ist die ID-Name, für die Meta-Box
, __( 'Sichtbar' ) // Das ist der Titel, der auf der Meta-Box-Container angezeigt wird
,'repertoire_feld_sichtbar'
,"marsch_type"
,"side" // Das definiert den Bildschirmbereich, wo es angezeigt werden sollen
,"high" // Hier wird die Priorität innerhalb des Kontext festgelegt
);
add_meta_box( "marschtype-meta" // Das ist die ID-Name, für die Meta-Box
, __( 'MarschType' ) // Das ist der Titel, der auf der Meta-Box-Container angezeigt wird
,'repertoire_feld_marsch_type'
,"marsch_type"
,"side" // Das definiert den Bildschirmbereich, wo es angezeigt werden sollen
,"high" // Hier wird die Priorität innerhalb des Kontext festgelegt
);
}
function repertoire_feld_sichtbar(){
global $post;
$custom = get_post_custom($post->ID);
$visibility = isset( $values['visibility'][0] ) ? esc_attr( $values['visibility'][0] ) : ''; //check-boxes
echo '<input type="checkbox" id="visibility" name="visibility" value="' .checked( $visibility, 'on' ) . '" />
<label for="visibility"> Visibility</label>';
}
function repertoire_feld_marsch_type(){
global $post;
$custom = get_post_custom($post->ID);
$type = isset( $values['type'][0] ) ? esc_attr( $values['type'][0] ) : '';
echo ' <label for="type"></label><br />
<input type="text" name="type" id="type" list="marschtyp"
value=" '.$type.' " required placeholder="Type" />
<datalist id="marschtyp">
<option value="Horn">Horn</option>
<option value="Flöte">Flöte</option>
</datalist>';
}
function cpt_repertoire_daten_speichern(){
global $post;
update_post_meta($post->ID, "visibility", $_POST["visibility"]);
update_post_meta($post->ID, "type", $_POST["type"]);
}
add_filter("manage_edit-marsch_columns","cpt_repertoire_spalten");
function cpt_repertoire_spalten($columns){
$columns = array(
"cb" => "<input type=\"checkbox\" />",
"title" => "Repertoire",
"type" => "Type",
"visibility" => "Visibility",
"date" => "Hinzugefügt"
);
return $columns;
}
add_action("manage_marsch_posts_custom_column","cpt_repertoire_neue_spalte");
function cpt_repertoire_neue_spalte($column){
global $post;
if ("visibility" == $column) {
$custom = get_post_custom();
echo $custom["visibility"][0];
}
elseif ("type" == $column) {
$custom = get_post_custom();
echo $custom["type"][0];
}
}
?>
Nachtrag Fehler gefunden: in der function sp_repertoire_meta_boxen() muss es richtig heißen:
PHP-Code:
add_meta_box( "anzeigen-meta" // Das ist die ID-Name, für die Meta-Box
, __( 'Sichtbar' ) // Das ist der Titel, der auf der Meta-Box-Container angezeigt wird
,'repertoire_feld_sichtbar'
,"marsch"
,"side" // Das definiert den Bildschirmbereich, wo es angezeigt werden sollen
,"high" // Hier wird die Priorität innerhalb des Kontext festgelegt
);
add_meta_box( "marschtype-meta" // Das ist die ID-Name, für die Meta-Box
, __( 'MarschType' ) // Das ist der Titel, der auf der Meta-Box-Container angezeigt wird
,'repertoire_feld_marsch_type'
,"marsch"
,"side" // Das definiert den Bildschirmbereich, wo es angezeigt werden sollen
,"high" // Hier wird die Priorität innerhalb des Kontext festgelegt
);
MfG
Geändert von gabischatz (16.06.2014 um 17:03 Uhr)
Grund: Fehler gefunden
|