• Resolvido obthurel

    (@obthurel)


    Bom dia,
    crie um post-type novo chamando “banner” nesse post-type eu adicionei varias campos customizados como altura, largura, cor de fundo, etc.
    o problema eh quando eu crio um “Banner” novo preencho ele todo (incluindo os campos customizados), se eu mover esse cadastro para a lixeira e depois restaurar ele, os dados dos campos customizados nao são recuperados.
    tem alguma maneira de resolver isso? tipo fazendo ele nao excluir os dados?

    Obrigado

Visualizando 8 respostas - 1 até 8 (de um total de 8)
  • Moderador Felipe Elia

    (@felipeelia)

    Oi @obthurel,

    Como você criou os campos personalizados? Através de algum plugin? E você tem algum plugin que intencione melhorar performance no site?

    Criador do tópico obthurel

    (@obthurel)

    Ola @felipeelia
    os campos e o post type foram criando como plugin.

    o post-type foi criado assim
    //————
    $labels = array(
    ‘name’ => ‘Banners’,
    ‘singular_name’ =>’Banner’,
    ‘menu_name’ =>’Banners’,
    ‘name_admin_bar’ =>’-Banners’,
    ‘add_new’ =>’Adicionar Banner’,
    ‘add_new_item’ =>’Adicionar Novo Banner’,
    ‘new_item’ =>’Novo Banner’,
    ‘edit_item’ =>’Editar Banner’,
    ‘view_item’ =>’Visualizar Banner’,
    ‘all_item’ =>’Todos os Banners’,
    ‘search_item’ =>’Produrar Banner’,
    ‘parent_item_colon’ =>’Banners filhos’,
    ‘not_found’ =>’Nenhum Banners encontrado’,
    ‘not_found_in_trash’ =>’Nenhum Banners no lixo’
    );

    $array = array(
    ‘labels’ => $labels,
    ‘description’ => ‘Banners para o site’,
    ‘public’ => true,
    ‘publicly_queryable’ => true,
    ‘query_var’ => true,
    ‘show_ui’ => true,
    ‘show_ui_menu’ => true,
    ‘rewrite’ => array(‘slug’=> ‘Banners’),
    ‘capability_type’ => ‘post’,
    ‘has_archive’ => false,
    ‘hierarchical’ => false,
    ‘menu_position’ => 6,
    ‘supports’ => array(‘title’, ‘editor’,’author’,’thumbnail’),
    ‘taxonomies’ => array( ‘category’ )
    );

    register_post_type(‘banner’ , $array);
    //————–

    e a meta box com os campos foi criada assim:

    //—-
    add_action(‘add_meta_boxes_banner’, ‘banner_metaboxes’);

    function banner_metaboxes(){

    add_meta_box(
    ‘banner_options’, // ID no html
    ‘Opções do Banner’, // label
    ‘banner_options’, //função de criação colocar mesmo nome do ID pra facilitar
    ‘banner’, //Tipo do conteudo
    ‘normal’, //posição : normal ou side
    ‘high’ //Prioridade: high , low
    );
    }
    //—–
    e com um arquivo de template que tem o html com todos os campos

    toda a parte de inclusão alteraçao e exclusão (de um unico banner ta ok)
    o problema eh que quando eu boto um banner pra lixeira e depois recupero ele da lixeira os campos dentro da metabox voltam sem valor.

    Moderador Felipe Elia

    (@felipeelia)

    Oi @obthurel,

    Vou precisar saber como está o código que escreve e apaga os meta dados.

    Para códigos grandes a gente prefere o pastebin (coloque lá e só deixe o endereço aqui) e sempre que for colar código aqui não esqueça de selecionar o texto e apertar o botão code, pra ele colocar os ` em volta, beleza?

    Criador do tópico obthurel

    (@obthurel)

    Segue a função de adicionar dados:

    https://pastebin.com/nE6W3cKM

    Obs: Perdão pelo vacilo sou novo no forum

    Moderador Felipe Elia

    (@felipeelia)

    Sem problemas, @obthurel 🙂

    Como você está chamando a função banner_save_admin?

    Dê uma olhada no código da função que o WordPress usa para colocar um post na lixeira: wp_trash_post. Ela mesmo não apaga nenhum metadado. Procure no seu código (seu, dos outros plugins e do seu tema) pelas actions wp_trash_post e trashed_post. Muito provavelmente “alguém” está plugando uma função aí para excluir seus meta dados.

    Criador do tópico obthurel

    (@obthurel)

    to usando esse action

    add_action('save_post_banner', 'banner_save_admin', 10, 3);

    • Esta resposta foi modificada 6 anos, 7 meses atrás por obthurel.
    Moderador Felipe Elia

    (@felipeelia)

    Beleza. É, o melhor a fazer agora é desabilitar todos os seus plugins, colocar um tema padrão do WP e testar. Depois ir reabilitando um por um :/

    Criador do tópico obthurel

    (@obthurel)

    Obrigado Pela ajuda vou fazer o teste e procurar pelas actions que vc mencionou

Visualizando 8 respostas - 1 até 8 (de um total de 8)
  • O tópico ‘Erro ao Mover para lixeira’ está fechado para novas respostas.