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.

Aktuálně je na stránce zobrazeno 10 příspěvků - 1. až 10. (z celkem 10)
  • Autor
    Příspěvky
  • #2689

    wedr
    Participant

    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) != “” ) {

    echo “ID, “slide_url_value”, $single = true) . “‘>” . get_post_meta($post->ID, “slide_url_value”, $single = true) . ““;

    }

    else {

    _e(‘No Link’, ‘minecraft-slides’);

    }

    break;

    }

    }

    Dělal jsem to podle toho to tutorialu

    #14216

    admin
    Keymaster
    Web

    Kde 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?

    #14217

    wedr
    Participant

    ano 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' );

    #14218

    Lukenzi
    Participant

    1. 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é.

    #14219

    wedr
    Participant

    SOLVED !!

    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.

    #14220

    admin
    Keymaster
    Web

    Ano, 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?

    #14221

    wedr
    Participant

    jasně… ale na 27.pozici jsem měl themeoptions.. takže mi to kolidovalo..

    #14222

    admin
    Keymaster
    Web

    Lukenzi:

    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…

    #14223

    admin
    Keymaster
    Web

    wedr: 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…

    #14224

    admin
    Keymaster
    Web

    Tak 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í

Aktuálně je na stránce zobrazeno 10 příspěvků - 1. až 10. (z celkem 10)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti