Suporte » Temas » Colocar Imagens Pagina inicial tema

  • Gisele

    (@gislef)


    Olá,

    Quando eu criei metabox de imagens para posts e paginas, o seguinte trecho do do codigo, que pega todos names dos inputs das imagens e coloca no array da variavel $urls, funciona corretamente:

    add_action( 'save_post', function ( $post_id ) {
    	if ( isset( $_POST['my_image_URL'] ) ) { 
    	    delete_post_meta( $post_id, 'my-image-for-post' ); 
    		$urls = $_POST['my_image_URL'];		
    		add_post_meta( $post_id, 'my-image-for-post', $urls );	
    	}
    });

    Para a página inicial do meu tema, estou criando as oções do tema usando o Settings API.
    Mas não sei exatamente onde devo chamar o Isset para preencher o input (convertido em JSON) que tera o array de urls dos inputs names ‘my_image_URL[ ]’

    //calback
    function tema_home_imgs(){   
            $urlsImagens = esc_attr( get_option( 'imagens_home' ) ); // RETURN DB DATA
    
            include( get_template_directory() . '/inc/templates/selecao_imagens.php');
    
            if ( isset( $_POST['my_image_URL'] ) ) {
    
            $urls = $_POST['my_image_URL'];
                 echo '<input name="imagens_home" value="' . htmlspecialchars(json_encode($urls)) . '" />';
            }   
        }

    print_r ($urls); ou var_dump($urls); Returns empty para o codigo acima estão retornando vazio.

    Agradeço ajuda

    • Este tópico foi modificado 1 mês atrás por  Gisele.
Visualizando 1 resposta (de um total de 1)
  • Moderador Felipe Elia

    (@felipeelia)

    Oi @gislef,

    Não ficou claro o que você está tentando fazer. Você está salvando as URLs como meta valor do conteúdo e está tentando pegá-lo de volta com get_option? Onde está sendo chamada a função tema_home_imgs()?

    Repare que para salvar as URLs você tem o valor de $post_id. Para pegá-las de volta você também precisará deste id, chamando
    $urls = get_post_meta( $post_id, 'my-image-for-post', TRUE );

    Quando salvamos com add_post_meta o valor não vira um JSON, mas é serializado pelo PHP, quando pegamos de volta com get_post_meta ele é automaticamente convertido de volta, beleza?

    Volte com suas dúvidas que o pessoal vai tentando ajudar. Se conseguiu resolver não esqueça de voltar para contar seus progressos e para marcar seu tópico como resolvido.

Visualizando 1 resposta (de um total de 1)
  • Você deve estar logado para responder a este tópico.