Úvodní stránka › Fórum podpory WordPressu › Problémy s WordPressem › Menu – admin
Zvolené téma obsahuje celkem 9 odpovědí. Do diskuze (3 účastníci) se naposledy zapojil uživatel admin a poslední změna je stará 11 let, 3 měsíce.
-
AutorPříspěvky
-
11. ledna 2013 (17:24) #2689
Dobrý den,
mám problém. Chtěl jsem zaimplementovat Slideshow do šablony ale nějak se mi nezobrazuje položka menu v administraci kdebych si mohl upravovat jednotlivé slidy jak je tomu třeba u Metor slides.
<?php
// Create Custom Post Type
function minecraft_register_slides_post() {
$labels = array(
‘name’ => __( ‘Slides’, ‘post type general name’ ),
‘singular_name’ => __( ‘Slide’, ‘post type singular name’ ),
‘add_new’ => __( ‘Add New Slide’ ),
‘add_new_item’ => __( ‘Add New Slide’ ),
‘edit_item’ => __( ‘Edit Slide’ ),
‘new_item’ => __( ‘New Slide’ ),
‘view_item’ => __( ‘View Slide’ ),
‘search_items’ => __( ‘Search Slides’ ),
‘not_found’ => __( ‘Slide’ ),
‘not_found_in_trash’=> __( ‘Slide’ ),
‘parent_item_colon’ => __( ‘Slide’ ),
‘menu_name’ => __( ‘Minecraft-slideshow’ )
);
$taxonomies = array();
$supports = array(‘title’,’thumbnail’);
$post_type_args = array(
‘labels’ => $labels,
‘singular_label’ => __(‘Slide’),
‘public’ => true,
‘show_ui’ => true,
‘publicly_queryable’=> true,
‘query_var’ => true,
‘capability_type’ => ‘post’,
‘has_archive’ => false,
‘hierarchical’ => false,
‘rewrite’ => array(‘slug’ => ‘slides’, ‘with_front’ => false ),
‘supports’ => $supports,
‘menu_position’ => 27, // Where it is in the menu. Change to 6 and it’s below posts. 11 and it’s below media, etc.
‘menu_icon’ => get_template_directory_uri() . ‘/admin/slider/images/icon.png’,
‘taxonomies’ => $taxonomies
);
register_post_type(‘slides’,$post_type_args);
}
add_action(‘init’, ‘minecraft_register_slides_post’);
// Meta Box for Slider URL
$slidelink_2_metabox = array(
‘id’ => ‘slidelink’,
‘title’ => ‘Slide Link’,
‘page’ => array(‘slides’),
‘context’ => ‘normal’,
‘priority’ => ‘default’,
‘fields’ => array(
array(
‘name’ => ‘Slide URL’,
‘desc’ => ”,
‘id’ => ‘minecraft_slideurl’,
‘class’ => ‘minecraft_slideurl’,
‘type’ => ‘text’,
‘rich_editor’ => 0,
‘max’ => 0
),
)
);
add_filter( ‘manage_edit-slide_columns’, ‘minecraft_edit_columns’ );
function minecraft_edit_columns( $minecraft_columns ) {
$minecraft_columns = array(
‘cb’ => ‘<input type=”checkbox” />’,
‘slide’ => __( ‘Slide Image’, ‘minecraft-slides’ ),
‘title’ => __( ‘Slide Title’, ‘minecraft-slides’ ),
‘slide-link’ => __( ‘Slide Link’, ‘minecraft-slides’ ),
‘date’ => __( ‘Date’, ‘minecraft-slides’ )
);
return $minecraft_columns;
}
add_action( ‘manage_posts_custom_column’, ‘minecraft_custom_columns’ );
function minecraft_custom_columns( $minecraft_column ) {
global $post;
switch ( $minecraft_column ) {
case ‘slide’ :
echo the_post_thumbnail(‘featured-slide-thumb’);
break;
case ‘slide-link’ :
if ( get_post_meta($post->ID, “slide_url_value”, $single = true) != “” ) {
}
else {
_e(‘No Link’, ‘minecraft-slides’);
}
break;
}
}
11. ledna 2013 (20:20) #14216Kde máte ten kód uložen? Pokud je to šablona, tak je to v souboru functions.php nebo v nějakém souboru, který je zde includován?
12. ledna 2013 (8:14) #14217ano je to naincludované ve function
require( get_template_directory() . '/admin/slider/slider_post_type.php' );
// Create Slider
require( get_template_directory() . '/admin/slider/slider.php' );12. ledna 2013 (12:16) #142181. Opravil bych ty funkce pro překlad, jsou tam zbytečně a ještě blbě, např.:
__( 'Slides', 'post type general name' )
v druhém parametru nemůžou být mezery, krom toho je to ID překladu. Pokud nemáte v plánu někdy šablonu překládat pomocí *.mo souborů úplně bych to vynechal:
'Slides'
Taky je k ničemu vše jako toto:
__( 'Add New Slide' )
protože není uveden druhý parametr tedy ID použije se výchozí překladový soubor a v tom tento string není takže se nepřeloží.
Stačí použít takhle:
'Add New Slide'
2. Pole $slidelink_2_metabox je tam k čemu? Nikde nevidím, jeho použití…
3. PHP nevypisuje žádné chyby nebo upozornění? Na začátek pluginu bych vložil
error_reporting(E_ALL);
a prohlídl si zda jsou všechny proměnné správně naplněné, kód neobsahuje žádné kontroly takže hledat chybu bude docela obtížné.
13. ledna 2013 (22:00) #14219SOLVED !!
ponořil jsem se do kódu a upravil jsem pořadí kde se zobrazí v položce menu…
'menu_position'=> 6, // Where it is in the menu. Change to 6 and it's below posts. 11 and it's below media, etc.
14. ledna 2013 (13:47) #14220Ano, to je sice pravda, ale původní hodnota 27 je také v pořádku, respektive položka menu se pak zobrazuje trochu níže v levém hlavním menu, ale zobrazuje se (konkrétně pod položkou “Komentáře”). Podrobnosti viz manuál, část
menu_position
. Takže tam by žádný problém být neměl?14. ledna 2013 (13:48) #14221jasně… ale na 27.pozici jsem měl themeoptions.. takže mi to kolidovalo..
14. ledna 2013 (14:01) #14222Lukenzi:
Ad 1) Dobrý postřeh, díky! Funkce __() má jako druhý argument doménu (aneb název pluginu bez diakritiky) a nikoli vysvětlivky pro překladatele. V tomto případě je potřeba použít funkci _x(), která umožňuje zadávat kontext. V původním odkazovaném návodu je to však správně… Každopádně souhlas, že tyto funkce nejsou potřeba, pokud nehodláte šablonu distribuovat dále.
Ad 2) Pole $slidelink_2_metabox tam asi zůstalo z původního návodu a dále s ním už nebylo pracováno.
Jinak jsem uvedený kód zkoušel a bez větších problémů funguje, takže netuším, co by tam mohlo být za problém…
14. ledna 2013 (14:04) #14223wedr: Aha, díky za vysvětlení. Ale to už jsme tu nemohli vědět :-) Je to ale zajímavé, čekal bych, že když bude zadána stejná pozice, tak budou příslušné položky menu zobrazené hned pod sebou…
14. ledna 2013 (14:26) #14224Tak už to vidím, jde o dlouhodobý problém, který souvisí se zastaralou strukturou menu. Snad se časem dočkáme nějakého zlepšení…
-
AutorPříspěvky
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.