Files
andaira/functions.php
2025-07-29 11:08:33 +00:00

133 lines
3.7 KiB
PHP

<?php
namespace App;
use Timber\Timber;
//require_once(get_template_directory().'/app.php');
include(__DIR__ .'/vendor/autoload.php');
//~ use WeDevs\ORM\WP\Post as Post;
//~ composer require jgrossi/corcel
// function get_posts_by_term_args($taxonomy_slug,$term_slug,$numberposts=8,$post_type='post') {
// $args = array(
// 'post_type' => $post_type,
// 'posts_per_page' => $numberposts,
// 'tax_query' => array(
// array(
// 'taxonomy' => $taxonomy_slug,
// 'field' => 'slug',
// 'terms' => $term_slug,
// ),
// )
// );
// return $args;
// }
// function get_posts_by_term($taxonomy_slug,$term_slug,$numberposts=8,$post_type='post') {
// $args = get_posts_by_term_args($taxonomy_slug, $term_slug, $numberposts, $post_type);
// return Timber::get_posts( $args );
// }
// function posts_by_term($taxonomy_slug, $term_slug, $numberposts=8, $post_type='post', $template_name='posts_by_taxonomy.twig') {
// $ctx = array('posts' => get_posts_by_term($taxonomy_slug,$term_slug,$numberposts,$post_type));
// $ctx['taxonomy'] = get_taxonomy($taxonomy_slug);
// $ctx['term'] = get_term($term_slug, $taxonomy_slug);
// return Timber::fetch($template_name, $ctx);
// }
// function get_posts_by_type($post_type,$numberposts=8) {
// $args = array(
// 'post_type' => $post_type,
// 'posts_per_page' => $numberposts,
// );
// return Timber::get_posts( $args );
// }
// function posts_by_type($post_type,$numberposts=8,$template_name='posts_by_taxonomy.twig') {
// $ctx = array('posts' => get_posts_by_type($post_type,$numberposts));
// return Timber::fetch($template_name, $ctx);
// }
/*
add_filter( 'timber/twig/functions', function( \Twig\Environment $twig ) {
$twig->addFunction( new \Twig\TwigFunction( 'posts_by_term', 'posts_by_term' ) );
return $twig;
} );
add_filter( 'timber/twig/functions', function( \Twig\Environment $twig ) {
$twig->addFunction( new \Twig\TwigFunction( 'posts_by_type', 'posts_by_type' ) );
return $twig;
} );
*/
// templatetag para rellenar con contenido dinamico la plantilla en desarollo
// function frontpage_posts($numberposts=-1,$template_name='frontpage_post.twig') {
// $args = [
// 'posts_per_page' => $numberposts,
// 'post_type' => 'post',
// ];
// $ctx = ['posts' => Timber::get_posts( $args )];
// return Timber::fetch($template_name, $ctx);
// }
// // Añadir al
// add_filter( 'timber/twig', function( \Twig\Environment $twig ) {
// $twig->addFunction( new \Twig\TwigFunction( 'frontpage_posts', 'frontpage_posts' ) );
// return $twig;
// } );
// fin del templatetag para rellenar con contenido dinamico la plantilla en desarollo
// Galeria
function andaira_gallery($attr) {
//~ $post = get_post();
//~ static $instance = 0;
//~ $instance++;
if ( ! empty( $attr['ids'] ) ) {
if ( empty( $attr['orderby'] ) ) {
$attr['orderby'] = 'post__in';
}
$attr['include'] = $attr['ids'];
$ids = explode(',', $attr['ids']);
}
$template_name='gallery.twig';
$medias = array();
$ids = explode(',', $attr['ids']);
for ($x=0;$x<count($ids); $x++) {
$media = new Timber\Image($ids[$x]);
array_push($medias, $media);
}
$ctx = array('medias' => $medias);
$tpl = Timber::fetch($template_name, $ctx);
return $tpl;
}
// Fin galeria
// Paginacion
//$context['pagination'] = Timber::get_pagination();
// Galeria
add_shortcode('gallery', 'andaira_gallery');
Timber::init();
$site = new AndairaSite();
//~ $site->main_menu_id = 2;
if (defined('WP_CLI') && WP_CLI) {require_once dirname(__FILE__).'/scripts/commands.php';}