¡GoConqr estrena diseño! Cuéntanos qué te parece.

Fichas

Custom Menu Development Wordpress

Victor Bini Technical Skills asa Inglés 12 fichas

Fichas del conjunto (12)

  1. 1Onde podemos encontrar as senhas de banco de dados e user name?na pasta principal da instalação do Wordpress vamos ter o arquivo wp-config.php lá devemos buscar as constantes: DB_PASSWORD - MySQL database, DB_USER - MySQL user
    (local user, não sei se pega em live servers)
  2. 2Como seria a convenção para salvar items do menu?Por padrão nosso 'plugin' ou library vai vir com:
    menu-item-custom em convenção para salvar dados no banco de dados, devemos alterar para _menu_item_$s conforme a convenção correta para evitar comportamentos estranhos...
    Colocando o '_' nos escondemos esses campos criados no menu de aparecerem como custom_field de um post normal.
  3. 3Como podemos instalar o 'wp-menu-item-custom-fields' ? - disponível no githubpodemos adicionar baixando os arquivos e adicionando como plugin ou colocando em nossa pasta raiz do thema, como uma biblioteca, então pegamos o codigo do arquivo 'walker-nav-menu-edit.php' e colamos em nosso functions.php
    para adicionar uma livraria usamos o comando, require_once () em functions.php
    //comando disponível na documentação.
  4. 4Quais configurações fazemos em nossa function.php para criar 'custom fields' em nossos menu items do wp-admin?devemos custar por addcionar novo custom fields no arquivo copiado, vamos lembrar que ele será salvo no banco de dados como um meta dado - wp_postmeta -
  5. 5Quais são os métodos existems no 'walker' e o que eles representam?Métodos abstrados são métodos que não tem funcionalidades por eles mesmo, são mais como uma framework.
    start_lvl( &$output, $depth = 0, $args = array() )
    "Start Level". This method is run when the walker reaches the start of a new "branch" in the tree structure. Generally, this method is used to add the opening tag of a container HTML element (such as , , or ) to $output.
    end_lvl( &$output, $depth = 0, $args = array() )
    "End Level". This method is run when the walker reaches the end of a "branch" in the tree structure. Generally, this method is used to add the closing tag of a container HTML element (such as , , or
    ) to $output.
    start_el( &$output, $object, $depth = 0, $args = array(), $current_object_id = 0 )
    "Start Element". Generally, this method is used to add the opening HTML tag for a single tree item (such as , , or ) to $output.
    end_el( &$output, $object, $depth = 0, $args = array() )
    "End Element". Generally, this method is used to add any closing HTML tag for a single tree item (such as
    , , or ) to $output. Not
  6. 6Onde podemos encontrar mais informações sobre o walker method?https://codex.wordpress.org/Class_Reference/Walker
  7. 7Qual elemento é formado já com walker_class no wordpress?O proprio nav_menu é criado a partir da class walker. podemos ver isso em wp-menu-template.php na pasta raiz do wordpress.
  8. 8Como fazemos o setup de um 'custom walker'?1º Adicionamos a pasta inc(de include) o arquivo include-walker.php
    2º então copiamos e o inicio do arquivo nav-menu-template.php - dentro do nosso arquivo.
    class WPT_Custom_Walker_Nav_Menu extends Walker {}
    3º incluimos nosso arquivo em nossa functions.php - require_once dirname( __FILE__ ) . '/inc/custom-walker.php';
    4º então para usar, nos argumentos do nosso menu, que passamos como parâmetro para criação ,vamos usar
    'walker' => new WPT_Custom_Walker_Nav_Menu //criando um objeto dessa classe.
    *Vamos ver que uma serie de erros surgiram, mas se copiarmos tudo de 'nav-menu-template.php' em nosso arquivo inc, vamos ver que estamos agora controlando o menu completamente.
    AGORA PODEMOS CUSTOMIZAR O QUE QUISERMOS, BASEADOS NO WORDPRESS PADRÃO.
  9. 9Como obtemos os dados do custom fields, anteriormente criados de nosso banco de dados para serem usados em nosso 'custom walker' menus?a função que vamos utilizar é get_post_meta()
    Ela possui como parametro $meta_values = get_post_meta( $post_id, $key, $single);
    Então por exemplo, vamos em nosso start_el que esta iniciando o nosso item dentro do menu, e vamos colocar no parâmetro $item uma nova propriedade, que é a que criamos no custom-field do menu:
    $item->description = get_post_post_meta( $item->ID, '_menu_item_field_descrition', true ); - o true não retorna um array, somente strings.
    a partir de então podemos acessar os dados e introduzir onde quisermos com $item->description
  10. 10Qual a diferença entre var_dump e var_export?*var_dump is for debugging purposes.
    *var_export prints valid php code. Useful if you calculated some values and want the results as a constant in another script. Note that var_export can not handle reference cycles/recursive arrays, whereas var_dump and print_r check for these.
  11. 11Se não queremos copiar e colar o arquivo do wp_include inteiro, mas sim modificar somente o que queremos, como podemos configurar nosso arquivo em /inc/?devemos então usar extend:
    então devemos usar no arquivo no /inc/:
    class own_walker_nav_menu extends Walker_Nav_Menu
    e não extends Walker...
    isso já traz as bases para nosso arquivo, sem a necessidade de copiar nada.
  12. 12Onde podemos controlar as classes e icones que são introduzidos em nosso walker nav bootstrap? (disponível no github)Devemos adicionar em title-atribute, ele vai avaliar o que foi escrito e aplicar uma mudança de classe com bootstrap ou adicionar um icone do components.
    https://github.com/twittem/wp-bootstrap-navwalker
    adicionamos da mesma forma que nosso navwalker... passando como parâmetro no menu walker=> new ...

Información

Descripción
asa (WordPress ) Technical Skills Fichas sobre Custom Menu Development Wordpress, creado por Victor Bini el 01/02/2017.
Creado por
Victor Bini · feb 2017
Actualizado
1 feb 2017
Visitas
2
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?