Files
andaira/page.php
2025-07-29 09:01:20 +00:00

61 lines
1.6 KiB
PHP

<?php
$context = Timber::get_context();
$post = new TimberPost();
$context['post'] = $post;
$context['entries'] = Timber::get_posts('post_type = post');
//var_dump( Timber::get_posts('post_type = post'));
$templates = array( 'page-' . $post->post_name . '.twig', 'page.twig' );
//if ( is_front_page() ) {
// array_unshift( $templates, 'frontpage.twig' );
//}
// Areas de proyectos
$areas = get_terms( [
'taxonomy' => 'category',
'parent' => 29,
'hide_empty' => false,
]
);
$context['areas'] = $areas;
// Servicios
$serviciosterms = get_terms( [
'taxonomy' => 'category',
'parent' => 138,
'hide_empty' => false,
]
);
$context['serviciosterms'] = $serviciosterms;
// templatetag para filtrar los post con categorias de Servicios
function posts_by_service($numberposts=-1,$postslug,$slug,$template_name='posts_by_service.twig') {
$args = [
'numberposts' => $numberposts,
'post_type' => 'post',
'post_status' => 'publish',
'orderby' => array(
'date' => 'DESC'
),
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => array($postslug, $slug),
'operator' => 'AND',
)
),
];
$context = Timber::get_context();
$ctx = ['posts' => Timber::get_posts( $args ), 'areas' => $context['areas']];
return Timber::fetch($template_name, $ctx);
}
add_filter( 'timber/twig', function( \Twig_Environment $twig ) {
$twig->addFunction( new Timber\Twig_Function( 'posts_by_service', 'posts_by_service' ) );
return $twig;
} );
// fin del templatetag
Timber::render( $templates, $context );