Finales felices (con revisión) y apadrinamiento, preparados y ocultos
- Formulario [ga_final_feliz]: las familias envían texto y foto (solo imágenes reales ≤5 MB, límite de envíos, consentimiento de publicación). Queda pendiente hasta que el equipo la publica; aviso por correo y contador en el menú. - Sección «Finales felices»: historias aprobadas o, si no hay, los adoptados. - Casilla «Busca padrino o madrina», sección «Apadrina» y motivo de contacto (sin pagos). - Páginas «Finales felices / Amaiera zoriontsuak» creadas como borrador. - API: profile.sponsorable. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -103,6 +103,7 @@ function ga_fields() {
|
||||
'adoptado' => ga__( 'Adoptado', 'Adoptatuta' ),
|
||||
), 'help' => 'Los adoptados salen solos del listado.' ),
|
||||
'destacado' => array( 'shared' => true, 'label' => ga__( 'Destacado', 'Nabarmendua' ), 'type' => 'checkbox', 'help' => 'Aparece en la portada. Útil para quien lleva más tiempo esperando o necesita un hogar especial.' ),
|
||||
'apadrinable' => array( 'shared' => true, 'label' => ga__( 'Busca padrino o madrina', 'Aitabitxi edo amabitxi bila' ), 'type' => 'checkbox', 'help' => 'Aparece en la sección «Apadrina» (si está activada en Personalizar).' ),
|
||||
'sexo' => array( 'shared' => true, 'label' => ga__( 'Sexo', 'Sexua' ), 'type' => 'select', 'options' => array(
|
||||
'macho' => ga__( 'Macho', 'Arra' ),
|
||||
'hembra' => ga__( 'Hembra', 'Emea' ),
|
||||
@@ -434,7 +435,7 @@ add_action( 'pre_get_posts', function ( $q ) {
|
||||
* @param array $args numero, especie (slugs), estado (lista o 'adoptado'), destacados (bool).
|
||||
*/
|
||||
function ga_query_animals( $args = array() ) {
|
||||
$args = wp_parse_args( $args, array( 'numero' => 6, 'especie' => '', 'estado' => '', 'destacados' => false ) );
|
||||
$args = wp_parse_args( $args, array( 'numero' => 6, 'especie' => '', 'estado' => '', 'destacados' => false, 'apadrinables' => false ) );
|
||||
$query = array(
|
||||
'post_type' => 'animal',
|
||||
'posts_per_page' => (int) $args['numero'],
|
||||
@@ -457,6 +458,9 @@ function ga_query_animals( $args = array() ) {
|
||||
if ( $args['destacados'] ) {
|
||||
$meta[] = array( 'key' => '_ga_destacado', 'value' => '1' );
|
||||
}
|
||||
if ( $args['apadrinables'] ) {
|
||||
$meta[] = array( 'key' => '_ga_apadrinable', 'value' => '1' );
|
||||
}
|
||||
$query['meta_query'] = $meta;
|
||||
|
||||
$q = new WP_Query( $query );
|
||||
@@ -472,8 +476,10 @@ function ga_query_animals( $args = array() ) {
|
||||
|
||||
/* [ga_animales numero="6" especie="perro" destacados="1" vista="carrusel"] */
|
||||
add_shortcode( 'ga_animales', function ( $atts ) {
|
||||
$atts = shortcode_atts( array( 'numero' => 6, 'especie' => '', 'estado' => '', 'destacados' => '', 'vista' => 'rejilla' ), $atts, 'ga_animales' );
|
||||
$atts['destacados'] = in_array( $atts['destacados'], array( '1', 'si', 'true' ), true );
|
||||
$atts = shortcode_atts( array( 'numero' => 6, 'especie' => '', 'estado' => '', 'destacados' => '', 'apadrinables' => '', 'vista' => 'rejilla' ), $atts, 'ga_animales' );
|
||||
foreach ( array( 'destacados', 'apadrinables' ) as $flag ) {
|
||||
$atts[ $flag ] = in_array( $atts[ $flag ], array( '1', 'si', 'true' ), true );
|
||||
}
|
||||
$q = ga_query_animals( $atts );
|
||||
ob_start();
|
||||
if ( $q->have_posts() ) {
|
||||
|
||||
Reference in New Issue
Block a user