Respuestas de foro creadas

Viendo 14 respuestas - de la 1 a la 14 (de un total de 14)
  • Gracias por responder LGrusin

    Tengo un par de experimentos en mente:

    Uno seria por ejemplo usar el single.php y el page.php como mismo archivo y por ejemplo detectando en cual estamos igual aplicar alguna diferencia local para distingirlos

    El otro experimento seria probar a sustituir los conjuntos de HTML usando POO, al ahorrar mucho código mediante POO para las extructuras complejas en HTML, podría probar a incluir los principales archivos dentro del index.php (loop.php, page.php, single.php, header.php, footer.php) en un select case y ver si queda bruto y desornenado o más simplificado, centralizado y más básico de mantener

    Seguramente suene raro, pero es un experimento, gracias

    Hola LGrusin, gracias por responder

    Creo que me he esplicado mal, según veo, el register_sidebar reserva un espacio que posteriormente se incluye en el tema, despues ese espacio es rellenado con widgets desde (Apariencia>Temas>Widgets) que es el punto que me gustaria saltarme y controlarlo desde/junto el register_sidebar, según tengo entendido, cada vez que se pone un tema nuevo hay que agregarle contenido a los register_sidebar manualmente, y entonces wordpress guarda esas preferencias para ese tema por si se quisiera volver a el en el futuro

    Te sigo cybmeta, solo lo que es directamente visual, siendo widgets principales opcionales, de tal forma que si se cambia de tema, no se pierdan funciones, ¿El seo seria opcional como los widget o tambien deben de ir bajo el control de un plugin?

    Me sigue apareciendo el error inicial y sospecho por donde van los tiros, en otros temas al pulsar en responder un comentario bajo el boton aparece una replica del formulario de comentarios, mientras que a mi me sale un error en la caja de comentarios que ya tengo en el tema, y como el tema lo escribí linea a linea le falta algo que no vi en ningún tutorial

    Cambio de estrategia:
    He encontrado una web que tiene varios modelos básicos de temas para maquetar encima y así evitar errores en cosas que no se del todo bien como van, la web es la siguiente:

    http://components.underscores.me/#generator

    Uhm.. ya estaba haciendo pruebas con la función mail de php…

    cybmeta, estoy pensando que tienes razón, hace unas horas estube leyendo que muchos temas vienen sobreinflados de caracteristicas que se pierden con el cambio de tema imcomodando al usuario, parece una mala práctica

    ¿Merece la pena aventurarme a crear un mini-plugin para emails solo por tener más control del HTML? Quizas solo sea practico a modo didactico, parece que el fuerte de wordpress son los plugins

    supongo que entonces es malo usar el archivo functions.php para cambiar valores en wordpres como:
    -Personalizar el formulario de login como el logo, titulo y url
    -Añadir GoogleAnalytics
    -Registrar Widgets ¿Este es bueno?
    -Modificar el email emisor por ejemplo para contraseña olvidada
    -Crear un panel de opciones para controlar colores del tema y algunos campos personalizados mas como el email-remitente o googleanalytics

    Mi idea era evitar los plugins y hacerlo con el tema

    He encontrado la Función Mail de PHP que parece funcionarme bien y es simple de usar

    SOLUCIONADO:

    wp_deregister_script(‘jquery’);
    wp_enqueue_script(‘jquery’,’http://code.jquery.com/jquery-1.12.0.min.js’,[],’1.12.0′,0);

    Los errores anteriores son del plugin: WP Google Maps

    La versión del jQuery de WordPress es: 1.11.3
    Me devuelve el error: Uncaught TypeError: $ is not a function
    <script>$(".button-collapse").sideNav();</script>

    He probado ese jQuery en un archivo.html y tambien me daba ese error

    En dicho archivo tambien he probado con:
    <script src=»http://code.jquery.com/jquery-1.12.0.min.js»></script>
    <script src=»http://code.jquery.com/jquery-2.2.0.min.js»></script>

    Con estos dos jQuery no tengo ese error

    ¿Cámo cambio el jQuery de WordPress?

    En mi tema, en la Consola del Navegador:

    GET https://csi.gstatic.com/csi?v=2&s=mapsapi3&v3v=22.15&action=apiboot2&rt=main.11 net::ERR_BLOCKED_BY_CLIENT
    (index):196 Uncaught TypeError: $ is not a function(anonymous function) @ (index):196
    csi.gstatic.com/csi?v=2&s=mapsapi3&v3v=22.15&action=apiboot2&rt=firstmap.51:1 GET https://csi.gstatic.com/csi?v=2&s=mapsapi3&v3v=22.15&action=apiboot2&rt=firstmap.51 net::ERR_BLOCKED_BY_CLIENT
    csi.gstatic.com/csi?v=2&s=mapsapi3&v3v=22.15&action=map&firstMap=true&e=mob:n,hdpi:n,staticmapsize:y,webp:y&rt=visreq.307:1 GET https://csi.gstatic.com/csi?v=2&s=mapsapi3&v3v=22.15&action=map&firstMap=true&e=mob:n,hdpi:n,staticmapsize:y,webp:y&rt=visreq.307 net::ERR_BLOCKED_BY_CLIENT
    csi.gstatic.com/csi?v=2&s=mapsapi3&v3v=22.15&action=map&firstMap=true&e=mob:n,hdpi:n,staticmapsize:y,webp:y&rt=firsttile.321:1 GET https://csi.gstatic.com/csi?v=2&s=mapsapi3&v3v=22.15&action=map&firstMap=true&e=mob:n,hdpi:n,staticmapsize:y,webp:y&rt=firsttile.321 net::ERR_BLOCKED_BY_CLIENT
    csi.gstatic.com/csi?v=2&s=mapsapi3&v3v=22.15&action=map&firstMap=true&e=mob:n,hdpi:n,staticmapsize:y,webp:y&rt=visuallycomplete.321:1 GET https://csi.gstatic.com/csi?v=2&s=mapsapi3&v3v=22.15&action=map&firstMap=true&e=mob:n,hdpi:n,staticmapsize:y,webp:y&rt=visuallycomplete.321 net::ERR_BLOCKED_BY_CLIENT
    maps.googleapis.com/maps/gen_204?target=api&ev=api_viewport&cad=host:anhida…5×0.00858,size:400×400,relsize:0.34,token:2l84c1j153,src:apiv3,ts:vtdmlf:1 GET https://maps.googleapis.com/maps/gen_204?target=api&ev=api_viewport&cad=hos…635×0.00858,size:400×400,relsize:0.34,token:2l84c1j153,src:apiv3,ts:vtdmlf net::ERR_BLOCKED_BY_CLIENT
    csi.gstatic.com/csi?v=2&s=mapsapi3&v3v=22.15&action=map&firstMap=true&e=mob:n,hdpi:n,staticmapsize:y,webp:y&rt=visres.498:1 GET https://csi.gstatic.com/csi?v=2&s=mapsapi3&v3v=22.15&action=map&firstMap=true&e=mob:n,hdpi:n,staticmapsize:y,webp:y&rt=visres.498 net::ERR_BLOCKED_BY_CLIENT
    maps.googleapis.com/maps/gen_204?target=api&ev=api_maprft&cad=host:anhida.es,v:22,r:1,t:500,smni:1,src:apiv3,token:2l84c1j153,ts:vtdn97:1 GET https://maps.googleapis.com/maps/gen_204?target=api&ev=api_maprft&cad=host:anhida.es,v:22,r:1,t:500,smni:1,src:apiv3,token:2l84c1j153,ts:vtdn97 net::ERR_BLOCKED_BY_CLIENT

    en el navegador he comprovado que los links de CSS y JS a MaterializeCSS sean correctos

    He probado a quitar wp_head() y wp_footer() y añadir los CSS y JS directamenta en el header.php conde si funcionaban

    header.php

    <!DOCTYPE html>
    <html lang="es">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
        <title></title>
        <?php wp_head() ?>
    </head>
    <body class="blue lighten-5 <?= is_user_logged_in()?'logged':null ?>">

    footer.php

    <?php wp_footer() ?>
    </body>
    </html>

    index.php

    <?php get_header() /*get_header(home)==headerhome.php*/ ?>
            /* Cualquier ejemplo de MaterialiceCSS JS no me funciona aqui */
        <?php get_footer() ?>

    Tengo 3 dudas:
    -¿La fecha no se pinta?
    -¿No puedo anadir un class al link?
    -El enlace Responder me devuelve un Notice en href

    <?php edit_comment_link() ?>
    <?php get_comment_date() ?>

    Asi he dejado comments.php:

    <?php if (have_comments()): ?>
    
    	<div class="card">
    		<div class="card-content">
    			<span class="card-title">Deja un comentario</span>
    			<?php paginate_comments_links() ?>
    			<?php comment_form(array(...)) ?>
    		</div>
    	</div>
    
    <?php endif ?>
    
    <?php if (have_comments()) wp_list_comments(['callback'=>'my_comments_callback']) ?>

    functions.php

    function my_comments_callback( $comment, $args, $depth ) {
    ?>
    	<div class="card">
    		<div class="card-content">
    			<div class="card-title"><?= $comment->comment_author ?></div>
    			<p><?= $comment->comment_content ?></p>
    		</div>
    		<div class="card-action">
    			<a class="disabled"><?php get_comment_date() ?></a>
    			<a class="right" href="<?= get_permalink( $post->ID ) ?>?replytocom=<?= $comment->comment_ID ?>#respond">Responder</a>
    			<!--a class="right" href="http://anhida.es/wp/wp-admin/comment.php?action=editcomment&c=<?= $comment->comment_ID ?>#respond">Editar</a-->
    			<?php edit_comment_link('class'='right') ?>
    		</div>
    		</div>
    	</div>
    <?php
    }
    ?>

    Muchas gracias por responder y por tus sugerencias, no me austas, voy siguiendo el CODEX, buscando ejemplos en google, y recientemente estube viendo unos videotutoriales sobre como se crean temas desde cero, voy dando cuenta y aprendiendo poco a poco

    El tema lo estoy haciendo sobre MaterializeCSS, por eso tiraba de $comments para poder personalizar el HTML para que heredase el formato del Framework MaterializeCSS, pero con comments_callback podre respetar la sintaxis como me indicas

    voy probando… 😉

    Hola Cybmeta, gracias por responder, también calculo que es culpa de mi theme

    Lo he escrito linea a linea intentando tener la flexibilidad de poner cada cosa en un lugar personalizado

    He usado estas funciones para el formulario:
    paginate_coments_links() que aun no tengo claro cual es su papel
    comment_form() con un array de html y class para heredar el css de materializecss

    Me he apoyado en el array obsoleto $comments para mostrar los comentarios para heredar el css de materializecss

    <?php if (have_comments()): ?>
    
    	<div class="card">
    		<div class="card-content">
    			<span class="card-title">Deja un comentario</span>
    			<?php paginate_comments_links() ?>
    			<?php comment_form([
    				'fields'=>[
    					'author'=>'<div class="input-field"><input id="author" type="text" class="validate" required><label for="author">Autor</label></div>',
    					'email'=>'<div class="input-field"><input id="email" type="email" class="validate" required><label for="email">Email</label></div>',
    					'url'=>'<div class="input-field"><input id="web" type="text" class="validate" required><label for="web">Web</label></div>'
    				],
    				'comment_field'=>'<div class="input-field"><textarea id="comentar" class="materialize-textarea" required></textarea><label for="comentar">Comentario</label></div>',
    				'class_submit'=>'btn blue',
    				//'title_reply_to'=>'',
    				'title_reply'=>'',
    				'title_reply_before'=>'','title_reply_after'=>'',#Estilos titulo
    				'comment_notes_before'=>'','comment_notes_after'=>'',#Descripción
    				//'comment_notes_after' => '<p>' . sprintf(__( 'Puedes usar las siguientes etiquetas y atributos <abbr title="HyperText Markup Language">HTML</abbr>: %s', 'material-lite'), ' <code>' . allowed_tags() . '</code>' ) . '</p></br>'
    			]) ?>
    		</div>
    	</div>
    
    <?php endif ?>
    
    <?php if ($comments):foreach($comments as $comment): ?>
    	<div class="card">
    		<div class="card-content">
    			<div class="card-title"><?= $comment->comment_author ?></div>
    			<p><?= $comment->comment_content ?></p>
    		</div>
    		<div class="card-action">
    			<a class="disabled">
    				<?php setlocale(LC_ALL,"es_ES.UTF-8"); date_default_timezone_set('Europe/Madrid'); ?>
    				<?= strftime("%a, %d de %b de %Y",strtotime($comment->comment_date)) ?>
    			</a>
    			<a class="right" href="<?= get_permalink( $post->ID ) ?>?replytocom=<?= $comment->comment_ID ?>#respond">Responder</a>
    			<!--a class="right" href="http://anhida.es/wp/wp-admin/comment.php?action=editcomment&c=<?= $comment->comment_ID ?>#respond">Editar</a-->
    		</div>
    	</div>
    <?php endforeach; endif ?>

    Estuve viendo por aquí:
    https://codex.wordpress.org/Function_Reference/is_author

    Partiendo que hay varios niveles de usuarios, me gustaría poder mostrar/ocultar fragmentos del theme según el perfil del usuario

    Autor
    Editor
    Colaborador
    Suscriptor
    Administrador

Viendo 14 respuestas - de la 1 a la 14 (de un total de 14)