Listado de temporadas y capitulos

  • Autor Autor r0y
  • Fecha de inicio Fecha de inicio
r0y

r0y

Dseda
Verificación en dos pasos activada
Verificado por Binance
Saludos betas, Tengo el theme diddli en mi web de películas y como muchos saben no tienen sección de Subir series por esto me puse a tocar un poco el código a ver lo que lograba y pude hacer esto
guardarcopia.webp
Pues resulta que no logro hacer que las temporadas se cierren y habrán al dar click como toda web de series, a ver si me pueden ayudar, Este listado de Capitulos agrupados en temporadas lo saque del Grifus
 
Última edición:
o sea que no se lo puedo aplicar?

Creo que no me entendiste, tu theme usa bootstrap, solo adapta el código que te da la documentacion de bootstrap en tu theme. El javascript de Bootstrap automáticamente reconocerá el código y hara la función que deseas. Mira el ejemplo -->> JavaScript · Bootstrap
HTML:
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
  <div class="panel panel-default">
    <div class="panel-heading" role="tab" id="headingOne">
      <h4 class="panel-title">
        <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
          TEmporada o Season 1
        </a>
      </h4>
    </div>
    <div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
      <div class="panel-body">
        Aqui van la lista de episodios
      </div>
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading" role="tab" id="headingTwo">
      <h4 class="panel-title">
        <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
           TEmporada o Season 1
        </a>
      </h4>
    </div>
    <div id="collapseTwo" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingTwo">
      <div class="panel-body">
        Aqui van la lista de episodios
      </div>
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading" role="tab" id="headingThree">
      <h4 class="panel-title">
        <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
          TEmporada o Season 1
        </a>
      </h4>
    </div>
    <div id="collapseThree" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingThree">
      <div class="panel-body">
        Aqui van la lista de capitulos
      </div>
    </div>
  </div>
</div>
Solo remplaza el "TEmporada o Season 1" con el titulo de las temporadas, y " Aqui van la lista de episodios" con los episodios, todo esta en que adaptes el codigo.
 
Creo que no me entendiste, tu theme usa bootstrap, solo adapta el código que te da la documentacion de bootstrap en tu theme. El javascript de Bootstrap automáticamente reconocerá el código y hara la función que deseas. Mira el ejemplo -->> JavaScript · Bootstrap
HTML:
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
  <div class="panel panel-default">
    <div class="panel-heading" role="tab" id="headingOne">
      <h4 class="panel-title">
        <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
          TEmporada o Season 1
        </a>
      </h4>
    </div>
    <div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
      <div class="panel-body">
        Aqui van la lista de episodios
      </div>
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading" role="tab" id="headingTwo">
      <h4 class="panel-title">
        <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
           TEmporada o Season 1
        </a>
      </h4>
    </div>
    <div id="collapseTwo" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingTwo">
      <div class="panel-body">
        Aqui van la lista de episodios
      </div>
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading" role="tab" id="headingThree">
      <h4 class="panel-title">
        <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
          TEmporada o Season 1
        </a>
      </h4>
    </div>
    <div id="collapseThree" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingThree">
      <div class="panel-body">
        Aqui van la lista de capitulos
      </div>
    </div>
  </div>
</div>
Solo remplaza el "TEmporada o Season 1" con el titulo de las temporadas, y " Aqui van la lista de episodios" con los episodios, todo esta en que adaptes el codigo.

Pero Las temporadas se crean con Custom fields, cuando agregue una temporada tendre que ir a editar el codigo para ponerla alli tambien?
 
Pero Las temporadas se crean con Custom fields, cuando agregue una temporada tendre que ir a editar el codigo para ponerla alli tambien?

Amigo, tienes que editar el single.php o el archivo que corresponde a la plantila de la series.
 
Amigo, tienes que editar el single.php o el archivo que corresponde a la plantila de la series.

Gracias amigo por facilitarme ese codigo, Ahora vere como lo adapto para cuando cree una temporada y capitulo nuevo, se siga añadiendo el efecto acordion
 
[MENTION=158380]raysn22[/MENTION] puedes agregarle al boton un atributo o class unica y otra a la lista de capitulos, asi cuando le dan click al boton
muestre la lista de capitulos!! :encouragement:
 
[MENTION=158380]raysn22[/MENTION] puedes agregarle al boton un atributo o class unica y otra a la lista de capitulos, asi cuando le dan click al boton
muestre la lista de capitulos!! :encouragement:

Con el codigo que me facilito el usuario de arriba logre hacer el efecto acordeon, solo que cuando le doy a cualquier temporada el efecto se ejerce en la temporada 1
 
[MENTION=158380]raysn22[/MENTION] trata de que temporada-1 sea unico para cada temporada, el codigo que puso el usuario de arriba tiene mas atributos y clases
lo cuales no entiendo para que son o su funcion pero este puede que te funcione bien! :encouragement:

HTML:
<div class="panel-group">
	<div class="panel panel-default">
		<div class="panel-heading">
			<h4 class="panel-title">
				<a data-toggle="collapse" href="#temporada-1">Collapsible panel</a>
			</h4>
		</div>
		<div id="temporada-1" class="panel-collapse collapse">
			<div class="panel-body">Panel Body</div>
		</div>
	</div>
</div>
 
[MENTION=158380]raysn22[/MENTION] trata de que temporada-1 sea unico para cada temporada, el codigo que puso el usuario de arriba tiene mas atributos y clases
lo cuales no entiendo para que son o su funcion pero este puede que te funcione bien! :encouragement:

HTML:
<div class="panel-group">
	<div class="panel panel-default">
		<div class="panel-heading">
			<h4 class="panel-title">
				<a data-toggle="collapse" href="#temporada-1">Collapsible panel</a>
			</h4>
		</div>
		<div id="temporada-1" class="panel-collapse collapse">
			<div class="panel-body">Panel Body</div>
		</div>
	</div>
</div>

o sea debo agregar el id="temporada-1" a las temporadas? entonces a los capitulos que les agrego men


ese es el codigo de mis temporadas y capitulos que se generan automaticamente con un custom fields

HTML:
<div id="seasons">
<h2 class="css3"><?php _e('Seasons and episodes','mundothemes') ?></h2>
<?php if( have_rows('temporadas') ): 
$numerado = 1; { 
while( have_rows('temporadas') ): the_row(); ?>
<div class="se-c">
<div class="se-q"><span class="se-t<?php if ($coun == 0) : ?> se-o<?php endif; $coun++; ?>"><?php echo $numerado; ?></span>    -  <?php _e('Season','mundothemes') ?> <?php echo $numerado; ?></span></div>
<?php if( have_rows('episodios') ): ?>
<div class="se-a" <?php if ($count == 0) : ?>style="display: block"<?php endif; $count++; ?>>
<ul class="episodios">
<?php $numerado2 = 1; { while( have_rows('episodios') ): the_row(); ?>
<li>
<div class="numerando"><?php echo $numerado; ?> x <?php echo $numerado2 ?></div>
<div class="episodiotitle">
<a href="<?php bloginfo('url'); ?>/<?php echo get_option('episodios-slug'); ?>/<?php echo get_sub_field('slug'); ?>">
<?php if($title = get_sub_field('titlee')) { echo $title; } else { echo __('Episode','mundothemes'); echo '&nbsp;', $numerado2; } ?>
</a>
<span class="date"><?php if($date = get_sub_field('tvdate')) { echo $date; } else { echo '--------------------'; }?></span>
<span class="eyes"><i class="icon-eye2"></i></span>
<div>
</li>
<?php $numerado2++; ?> 
<?php endwhile; } ?> 
</ul>
</div>
<?php else : ?>
<div class="se-a">
<ul class="episodios">
<li>
<div class="numerando"><?php echo $numerado; ?> x -</div>
<div class="episodiotitle">
<a><?php _e('no data','mundothemes'); ?></a>
<span><?php _e('n/a','mundothemes'); ?></span>
<div>
</li>
</ul>
</div>
<?php endif; ?>
</div>
<?php $numerado++; ?> 
<?php endwhile; } ?> 
<?php else : ?>
<div class="nodata">
<?php _e('No data available','mundothemes'); ?>
</div>
<?php endif; ?>
</div>
 
Última edición:
o sea debo agregar el id="temporada-1" a las temporadas? entonces a los capitulos que les agrego men

Seria asi..

HTML:
<div class="panel-group">
	<div class="panel panel-default">
		<div class="panel-heading">
			<h4 class="panel-title">
				<a data-toggle="collapse" href="#temporada-1">Temporada 1</a>
			</h4>
		</div>
		<div id="temporada-1" class="panel-collapse collapse">
			<div class="panel-body">
                             <a href="LINK AQUI">Capitulo 1</a>
                             <a href="LINK AQUI">Capitulo 2</a>
                             <a href="LINK AQUI">Capitulo 3</a>
                        </div>
		</div>
	</div>
</div>
 
Seria asi..

HTML:
<div class="panel-group">
	<div class="panel panel-default">
		<div class="panel-heading">
			<h4 class="panel-title">
				<a data-toggle="collapse" href="#temporada-1">Temporada 1</a>
			</h4>
		</div>
		<div id="temporada-1" class="panel-collapse collapse">
			<div class="panel-body">
                             <a href="LINK AQUI">Capitulo 1</a>
                             <a href="LINK AQUI">Capitulo 2</a>
                             <a href="LINK AQUI">Capitulo 3</a>
                        </div>
		</div>
	</div>
</div>

Los capitulos se generan automaticos igual que las temporadas
 
Con esto lo puedes hacer

HTML:
<div id="accordion" role="tablist" aria-multiselectable="true">
     <!-- Aqui inicias el bucle de las temporadas -->
	  <div class="card">
	    <div class="card-header" role="tab" id="heading<?php echo $numerado; ?>">
	      <h5 class="mb-0">
<!-- Aqui creas la relacion entre el enlace y el div que contiene los capitulos, con el valor del atributo href, en cada vuelta de bucle de temporadas sera #temp-1, #temp-2, se imprime el valor de $numerado  -->
	        <a data-toggle="collapse" data-parent="#accordion" href="#temp-<?php echo $numerado; ?>" aria-expanded="true" aria-controls="collapse1">
<!-- Aqui se mostrara el numero de temporada, igualmente basada en $numerado  -->
	        Temporada <?php echo $numerado; ?>
	        </a>
	      </h5>
	    </div>
	    <div id="temp-<?php echo $numerado; ?>" class="collapse" role="tabpanel" aria-labelledby="heading<?php echo $numerado; ?>">
	      <div class="card-block">
<!-- En este div se mostraran todos los capitulos de la temporada, realiza el bucle aqui, el div se relaciona con el enlace de la temporada mediante  el atributo id  -->
		   <!-- Inicia validacion si tiene contenido, realizas bucle -->
                            
                                 <!-- Aqui va el contenido que genere el bucle -->
                       
                 <!-- aqui termina el bucle, justo antes de la etiqueta de cierre de div -->

	      </div>
	    </div>
<!--  Cierra el bucle de temporada aqui, antes de cierre del div -->
  </div>
Los capitulos se generan automaticos igual que las temporadas
 
Última edición:
Con esto lo puedes hacer

HTML:
<div id="accordion" role="tablist" aria-multiselectable="true">
     <!-- Aqui inicias el bucle de las temporadas -->
	  <div class="card">
	    <div class="card-header" role="tab" id="heading<?php echo $numerado; ?>">
	      <h5 class="mb-0">
<!-- Aqui creas la relacion entre el enlace y el div que contiene los capitulos, con el valor del atributo href, en cada vuelta de bucle de temporadas sera #temp-1, #temp-2, se imprime el valor de $numerado  -->
	        <a data-toggle="collapse" data-parent="#accordion" href="#temp-<?php echo $numerado; ?>" aria-expanded="true" aria-controls="collapse1">
<!-- Aqui se mostrara el numero de temporada, igualmente basada en $numerado  -->
	        Temporada <?php echo $numerado; ?>
	        </a>
	      </h5>
	    </div>
	    <div id="temp-<?php echo $numerado; ?>" class="collapse" role="tabpanel" aria-labelledby="heading<?php echo $numerado; ?>">
	      <div class="card-block">
<!-- En este div se mostraran todos los capitulos de la temporada, realiza el bucle aqui, el div se relaciona con el enlace de la temporada mediante  el atributo id  -->
		   <!-- Inicia validacion si tiene contenido, realizas bucle -->
                            
                                 <!-- Aqui va el contenido que genere el bucle -->
                       
                 <!-- aqui termina el bucle, justo antes de la etiqueta de cierre de div -->

	      </div>
	    </div>
<!--  Cierra el bucle de temporada aqui, antes de cierre del div -->
  </div>

gracias amigo me ha servido de ayuda
 
Atrás
Arriba