Phoenix : Documentation sur les fonctions et modes d’utilisation.


Table des matières

Fonction : _e

Description :

La fonction _e permet d’automatiser la traduction de texte dans WordPress en utilisant le domaine de texte spécifié. Elle est particulièrement utile pour la localisation de thèmes et plugins WordPress, permettant à WordPress de traduire le texte affiché dans l’interface utilisateur.

Exemple d’utilisation :

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  _e.php

Paramètres :

  • $text (string) : Le texte à traduire. Il s’agit du texte que vous souhaitez afficher, qui sera traduit selon le domaine de texte spécifié.
  • $domain (string) : Le domaine de texte utilisé pour la traduction. Il correspond au texte de domaine pour lequel les traductions sont disponibles.

Retourne :

  • Le texte traduit : La fonction _e est une fonction de WordPress qui imprime le texte traduit directement. En tant que fonction Twig, elle renvoie le texte traduit au lieu de l’imprimer.

<?php

$eFunction = new \Twig\TwigFunction('_e', function($text, $domain) {
    return _e($text, $domain);
});

Fonction : la_photo

Description :

La fonction la_photo est utilisée pour récupérer les informations d’une photo dans un format spécifique. Cette fonction est particulièrement utile dans le contexte de Twig pour gérer et afficher les images sur un site WordPress. Elle prend une image et retourne un tableau contenant l’URL de l’image, sa largeur et sa hauteur.

Utilisation :

Dans un contexte où vous avez besoin d’afficher une image, la_photo simplifie la tâche en vous fournissant directement les dimensions de l’image ainsi que son URL. Cela est utile pour garantir que l’image s’affiche correctement avec les dimensions appropriées.

Exemple d’utilisation :

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  la_photo.php

Paramètres :

  • photo (obligatoire) : L’image à traiter.
  • size (optionnel) : Le format de l’image à récupérer (ex. ‘large’, ‘medium’, ‘thumbnail’).

Retour : Un tableau contenant :

  1. L’URL de l’image.
  1. La largeur de l’image.
  1. La hauteur de l’image.

Notes : Cette fonction est utile pour gérer les images de manière efficace dans vos templates Twig, assurant un affichage adapté aux besoins spécifiques de votre site.

Fonction : menu

Description :

La fonction menu génère un menu de navigation dans un format HTML à partir des emplacements de menu définis dans WordPress. Elle est utilisée dans les templates Twig pour afficher les menus de navigation en personnalisant leur apparence et leur structure.

Utilisation : La fonction est appelée pour afficher un menu dans une zone spécifique du site WordPress. Elle prend en charge divers paramètres pour personnaliser l’affichage du menu et peut inclure des sous-menus si nécessaire.

Exemple d’utilisation :

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  menu.php

Paramètres :

  • $location (obligatoire) : L’emplacement du menu défini dans WordPress (ex. ‘primary’).
  • $class (optionnel) : La classe CSS à appliquer au menu (ex. « navigation »).
  • $walker (optionnel) : La classe de marcheur (walker) utilisée pour personnaliser le rendu HTML du menu (ex. ‘yes’ pour indiquer la présence de sous-menus).
  • $li (optionnel) : HTML à ajouter autour des éléments <li> du menu.
  • $a (optionnel) : HTML à ajouter autour des éléments <a> du menu.

Paramètre spécifique :

  • $walker : Ce paramètre est un booléen (‘yes’ ou ‘no’) qui indique si le menu peut contenir des sous-menus (‘yes’) ou non (‘no’).

Retour :

  • Un code HTML formaté pour afficher le menu de navigation avec les options spécifiées.

Notes :

RAW  est un filtre dans Twig utilisé pour indiquer que le contenu doit être affiché tel quel, sans échappement. Cela signifie que tout le HTML contenu dans la variable ou expression sera rendu directement dans la sortie HTML, sans être converti en entités HTML.

Fonction : url

Description :

La fonction url dans Twig est utilisée pour générer une URL complète à partir d’une URL relative ou d’une URL de base. Elle permet de convertir des chemins relatifs en URL absolues, en prenant en compte les paramètres et le contexte du site web.

Utilisation : url est généralement utilisée pour créer des liens vers des pages spécifiques ou des ressources sur un site web en s’assurant que l’URL est correcte et complète. Cela peut inclure des URL pour des pages internes, des ressources externes, ou des chemins relatifs convertis en URL absolues.

Exemple d’utilisation :

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  url.php

Retour :

  • URL Absolue : La fonction retourne une URL complète qui peut être utilisée pour créer des liens sur le site web.

Notes :

  • Utilisation Typique : url est utilisée lorsque vous avez besoin de garantir que les URL générées sont complètes et valides, surtout lorsqu’elles sont basées sur des chemins relatifs ou des paramètres dynamiques.

Fonction : latest

Description :

La fonction latest est une fonction personnalisée dans Twig qui récupère les articles récents (ou les publications) à partir de la base de données WordPress. Elle permet de spécifier un nombre limite d’articles, un type de publication, et éventuellement un parent de publication ainsi que des paramètres additionnels pour filtrer les articles récupérés.

Utilisation : Cette fonction est utilisée pour obtenir une liste d’articles récents dans un template Twig, souvent pour afficher des blocs de contenu ou des listes d’articles récents dans une section d’un site web.

Exemple d’utilisation :

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  latest.php

Paramètres :

  • $limit : Le nombre maximum d’articles à récupérer.
  • $post_type : Le type de publication à récupérer (par exemple, post, page, ou un type de publication personnalisé).
  • $post_parent (optionnel) : L’ID du parent de la publication pour filtrer les articles enfants. Par défaut, c’est 0 (aucun parent).
  • $para (optionnel) : Tableau associatif de paramètres additionnels pour filtrer les articles, comme les catégories ou les taxonomies.

Retour :

  • Tableau d’Articles : La fonction retourne un tableau d’articles récents correspondant aux critères spécifiés. Chaque élément du tableau est un objet de publication contenant des informations telles que l’ID, le titre, le contenu, etc.

Notes :

  • Utilisation Typique : Utilisée pour afficher une liste d’articles récents dans un template Twig, souvent dans des sections comme les « Derniers Articles » ou les « Actualités ».

<?php 



$th_post =  new \Twig\TwigFunction('latest', function ($limit, $post_type, $post_parent = 0, $para = array()) {
    $args = array(
      'numberposts' => $limit,
      'post_type'   => $post_type,
      'post_status' => 'publish',
      'orderby'          => 'ID',
      'order'            => 'ASC'
    );
      
      if(!empty($post_parent) && is_numeric($post_parent)) {
       $args['post_parent']   = $post_parent; 
      }
    if(!empty($para)) {
        $firstValue = array_values($para);
        $keys = array_keys($para);
      $args['tax_query']  =  array(
            array(
                'taxonomy'      => $keys[0],
                'field' => 'term_id', //This is optional, as it defaults to 'term_id'
                'terms'         => $firstValue[0],
            )
        );
    }
     return get_posts( $args );
    });
    

Fonction : featured>

Description :

La fonction featured permet de récupérer l’URL de l’image à la une d’un article WordPress en fonction de l’ID de l’article et de la taille spécifiée pour l’image.

Exemple d’implémentation:

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  featured.php.

Paramètres :

  • $id (int) : L’ID de l’article pour lequel vous souhaitez obtenir l’URL de l’image à la une.
  • $size (string) : La taille de l’image à récupérer. Les tailles courantes incluent ‘thumbnail’, ‘medium’, ‘large’, ou toute taille personnalisée définie dans WordPress.

Retourne :

  • URL de l’image à la une : Renvoie une chaîne contenant l’URL de l’image à la une de l’article, ou une chaîne vide si l’article n’a pas d’image à la une pour la taille spécifiée.

<?php 


$featured =  new \Twig\TwigFunction('featured', function ($id, $size) {
    return get_the_post_thumbnail_url($id, $size); 
    });
    

Fonction : photo_title

Description :

La fonction photo_title récupère le titre d’un article ou d’une page dans WordPress en fonction de l’ID spécifié. Elle est utile pour obtenir des informations textuelles associées à un média ou un contenu.

Exemple d’implémentation :

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  photo_tilte.php.

Paramètres :

  • $photo_id (int) : L’ID de l’article, de la page ou du média dont vous souhaitez obtenir le titre.

Retourne :

  • Titre de l’article ou de la page : Renvoie une chaîne contenant le titre associé à l’ID spécifié. Si l’ID ne correspond à aucun élément, renvoie une chaîne vide.

<?php 




$title = new \Twig\TwigFunction('photo_title', function($photo_id) {
    $photo_title = get_the_title($photo_id);
    return $photo_title;
    });
    

Fonction : field

Description

La fonction field permet de récupérer la valeur d’un champ personnalisé (Custom Field) dans WordPress. Elle prend le nom du champ et, éventuellement, un identifiant de post (ou autre objet) comme paramètres. Si un identifiant est fourni, la fonction retourne la valeur du champ pour ce post spécifique. Sinon, elle retourne la valeur du champ pour l’objet actuel.

Paramètres

  • $text (string) : Le nom du champ personnalisé à récupérer.
  • $key (string, optionnel) : L’identifiant du post (ou autre objet) pour lequel le champ doit être récupéré. Si ce paramètre est omis, le champ est récupéré pour l’objet actuel (par exemple, le post en cours de traitement).

Retour

  • (mixed) : La valeur du champ personnalisé. Le type de retour dépend du type de champ  (texte, image, URL, etc.).

Exemple d’utilisation

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  field.php

Avantages

  • Flexibilité : Permet de récupérer des champs personnalisés pour n’importe quel post ou objet, en fonction de son identifiant.
  • Simplicité : Simplifie l’accès aux champs personnalisés dans les templates Twig.

Remarque

Cette fonction est particulièrement utile pour afficher des informations personnalisées. Elle peut être utilisée pour récupérer des textes, des images, des liens, ou tout autre type de contenu.


<?php




$field = new \Twig\TwigFunction('field', function($text, $key = "") {
    if(!empty($key)) {
 return get_field($text, $key);
    } else {
 return get_field($text);   
    }
});
 $twig->addFunction($field);
 
 $author = new \Twig\TwigFunction('author_url', function($id) {
  
 return get_author_posts_url($id);
});

Fonction : do_shortcode

Description

La fonction do_shortcode permet d’exécuter un shortcode WordPress directement depuis un template Twig. Elle accepte le nom du shortcode et un ensemble d’arguments pour personnaliser le comportement du shortcode. Cette fonction est utile pour intégrer la logique des shortcodes dans des templates Twig, offrant ainsi une plus grande flexibilité dans la gestion du contenu dynamique.

Paramètres

  • $key (string) : Le nom du shortcode à exécuter.
  • $args (array) : Un tableau associatif contenant les arguments à passer au shortcode. Chaque clé représente le nom d’un paramètre, et la valeur associée représente la valeur de ce paramètre.

Retour

  • (string) : Le résultat du shortcode exécuté. Ce résultat est généralement du HTML généré par le shortcode.

Exemple d’utilisation

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  do_shortcode.php

Utilisation dans twig

  • La fonction do_shortcode est appelée dans un template Twig, et le résultat est rendu directement dans le template.
  • Le filtre |raw est utilisé pour s’assurer que le HTML généré par le shortcode n’est pas échappé, ce qui permet un rendu correct sur la page.

Avantages

  • Intégration facile : Permet aux développeurs d’utiliser les shortcodes WordPress directement dans les templates Twig.
  • Flexibilité : Offre la possibilité de passer des paramètres dynamiques aux shortcodes, rendant le contenu encore plus personnalisable.
  • Réutilisation : Les shortcodes WordPress existants peuvent être facilement réutilisés dans des templates Twig sans réécrire la logique.

Remarque

Cette fonction est particulièrement utile pour les projets qui combinent Twig avec WordPress, permettant ainsi aux développeurs de tirer parti des puissantes fonctionnalités de shortcode tout en utilisant la flexibilité des templates Twig.


<?php 




$shortcode = new \Twig\TwigFunction('do_shortcode', function($key, $args) {
    $para  = "";
    if(!empty($args)) {
        foreach($args as $k => $v) {
            $para .=" $k =  $v";
        }
    } else {
        $para = "";
    }
return do_shortcode("[$key  $para]");
});

Fonction : acfform

Description :

La fonction acfform permet d’afficher un formulaire pour créer un nouveau post d’un type spécifié. Si l’utilisateur est connecté, un formulaire de création de post est généré. Si l’utilisateur n’est pas connecté, un shortcode pour l’inscription est affiché à la place.

Exemple d’implémentation  :

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  acfform.php

Paramètres :

  • $post_type (string) : Le type de post à créer avec le formulaire. Exemple : ‘job_listing’, ‘post’, ‘product’.

Comportement :

  • Utilisateur connecté : Affiche un formulaire pour créer un nouveau post du type spécifié.
  • Le formulaire inclut des champs pour le titre du post, le contenu du post, et d’autres champs personnalisés .
  • Le bouton de soumission du formulaire affiche le texte « Post a Job » (modifiable via le paramètre submit_value).
  • Le post est publié automatiquement sous le compte de l’utilisateur connecté.
  • Utilisateur non connecté : Affiche un formulaire d’inscription via le shortcode

    Connexion

    Montrer le mot de passe

    Mot de passe de récupération

    L’inscription est désactivée

    Réinitialiser le mot de passe

    Montrer le mot de passe

    Revenir à la connexion
    .

Remarque : Cette fonction est particulièrement utile pour les sites où les utilisateurs peuvent créer des contenus directement à partir de l’interface utilisateur, tout en s’assurant que seuls les utilisateurs connectés ont cette capacité.


<?php 



$acfform = new \Twig\TwigFunction("acfform", function($post_type) {
    if(is_user_logged_in()) {
    acf_form(array(
        'post_id'       => 'new_post',
        'post_title' => true,
        'post_content' => true,
        'new_post'      => array(
            'post_type'     => $post_type,
            'post_status'   => 'publish',
            'post_author' => get_current_user_id()
        ),
        'submit_value'  => 'Post a Job',
        'html_submit_button'  => '<input type="submit" class="btn-one" value="%s" />'
    ));
    } else {
        echo do_shortcode('[psw_registration]');
    }
});

Fonction : author_url

Description :

La fonction author_url est utilisée pour générer l’URL de la page d’archive d’un auteur sur un site WordPress. Elle retourne le lien vers la page où tous les articles publiés par cet auteur sont listés.

Exemple d’implémentation :

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  author_url.php

Paramètres :

  • $id (int) : L’ID de l’auteur pour lequel l’URL de la page d’archive doit être générée.

Retourne :

  • URL (string) : L’URL de la page d’archive de l’auteur correspondant à l’ID fourni.

Comportement :

  • La fonction utilise la fonction native de WordPress get_author_posts_url() pour récupérer l’URL de la page d’archive de l’auteur.
  • Cette URL peut ensuite être utilisée dans un lien pour rediriger les utilisateurs vers la page listant tous les articles publiés par cet auteur.

Remarque :

Cette fonction est particulièrement utile pour créer des liens dynamiques vers les pages d’archives des auteurs, améliorant ainsi la navigation et l’organisation du contenu sur un site WordPress.


<?php

$author = new \Twig\TwigFunction('author_url', function($id) {
     
    return get_author_posts_url($id);
});

Fonction : blog_page

Description :

La fonction blog_page permet de récupérer une liste paginée d’articles (ou d’éléments d’un type de publication personnalisé) pour les afficher sur une page de blog dans un thème WordPress utilisant Twig. Elle retourne un tableau contenant les informations essentielles des articles, ainsi que les liens de pagination.

Exemple d’implémentation :

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  blog_page.php

Paramètres :

  • $post_type (string) : Le type de publication à récupérer (par exemple, ‘post’ pour les articles de blog, ou un type de publication personnalisé).
  • $post_limit (int) : Le nombre maximum d’articles à afficher par page.

Retourne :

  • Tableau associatif (array) : Un tableau contenant les informations sur les articles et la pagination.
  • posts : Une liste d’articles où chaque article est représenté par un sous-tableau avec les clés suivantes :
  • title (string) : Le titre de l’article.
  • date (string) : La date de publication de l’article.
  • excerpt (string) : Un extrait de l’article.
  • permalink (string) : Le lien permanent de l’article.
  • author (string) : Le nom de l’auteur de l’article.
  • ID (int) : L’ID de l’article.
  • paged : Le numéro de la page actuelle.
  • pagination : Un tableau contenant les liens de pagination pour naviguer entre les pages d’articles.

Comportement :

  • La fonction effectue une requête sur les articles en fonction des paramètres $post_type et $post_limit.
  • Elle retourne les articles paginés, chacun avec son titre, date, extrait, lien permanent, auteur, et ID.
  • La pagination est également générée et incluse dans les données retournées, facilitant la navigation entre les pages.

Remarque :

Cette fonction est idéale pour créer une page de blog paginée dans un site WordPress, permettant aux utilisateurs de naviguer facilement à travers les articles tout en offrant aux développeurs une structure claire et modulable.

Fonction : cart_total

Description :

La fonction cart_total permet de récupérer le nombre total d’articles actuellement présents dans le panier d’un utilisateur sur un site WordPress. Elle est principalement utilisée pour afficher ce nombre, par exemple, dans l’interface utilisateur du site (comme l’icône du panier dans l’en-tête du site).

Exemple d’implémentation  :

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  card_total.php

Paramètres :

  • Cette fonction ne prend aucun paramètre.

Retourne :

  • int : Le nombre total d’articles dans le panier. Si le panier est vide, la fonction retourne 0.

Remarque :

Cette fonction est particulièrement utile pour créer une interface utilisateur interactive où les utilisateurs peuvent voir en temps réel combien d’articles sont dans leur panier.


<?php

$cart_number = new \Twig\TwigFunction('cart_total', function () {
    if(!function_exists( 'is_shop' )) {
    return;
}
if (WC()->cart && !WC()->cart->is_empty()) {
    return $cart_count = WC()->cart->get_cart_contents_count();  
} else {
    return 0;
}

 

});






Fonction : cart_url

Description :

La fonction cart_url génère un lien direct pour ajouter un produit spécifique au panier et rediriger l’utilisateur vers la page de paiement. Cette fonctionnalité est utile pour créer des boutons d’achat rapide ou des liens personnalisés qui permettent aux utilisateurs d’ajouter immédiatement un produit au panier et de passer à la caisse.

Exemple d’implémentation  :

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  cart_url.php

Paramètres :

  • $post_id (int) : L’ID du produit que vous souhaitez ajouter au panier. Ce paramètre est obligatoire et doit correspondre à un produit existant dans WooCommerce.

Retourne :

  • string : L’URL complète pour ajouter le produit spécifié au panier et rediriger vers la page de paiement.
  • null

Remarque :

Cette fonction est très utile pour simplifier le processus d’achat en permettant aux utilisateurs d’ajouter des produits au panier et de passer directement à la caisse en un seul clic. Elle doit être utilisée sur un site où WooCommerce est activé et configuré.


<?php



$carts = new \Twig\TwigFunction('cart_url', function ($post_id) {
    if(!function_exists( 'is_shop' )) {
     return;
 }
 $checkout_url = wc_get_checkout_url() . '?add-to-cart=' . $post_id."&quantity=1";
 
 return $checkout_url; 
 
});

Fonction : categories

Description :

La fonction categories est utilisée pour récupérer les catégories associées à un article spécifique dans WordPress. Elle renvoie une liste des identifiants de ces catégories. Cette fonction est particulièrement utile pour afficher ou traiter les catégories d’un article à différents endroits de votre site.

Exemple d’implémentation :

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  categories.php

Paramètres :

  • $post_id (int) : L’ID de l’article dont vous souhaitez récupérer les catégories. Ce paramètre est obligatoire et doit correspondre à un article existant dans WordPress.

Retourne :

  • array : Un tableau contenant les identifiants (IDs) des catégories associées à l’article spécifié.

Remarque :

Cette fonction est principalement utilisée pour récupérer les identifiants des catégories. Si vous avez besoin d’informations plus détaillées (comme les noms des catégories), vous devrez faire des appels supplémentaires pour récupérer ces données à l’aide des IDs obtenus.


<?php

$categories =  new \Twig\TwigFunction('categories', function ($post_id) {
    return wp_get_post_categories( $post_id ); 
    });

Fonction : children

Description :

La fonction children est utilisée pour récupérer les pages enfants d’une page spécifique dans WordPress. Elle renvoie un tableau d’objets représentant les pages enfants publiées de la page actuellement affichée. Cette fonction est utile pour afficher une liste de sous-pages liées à une page principale.

Exemple d’implémentation  :

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  children.php

Paramètres :

  • Cette fonction ne prend pas de paramètres. Elle utilise l’ID de la page actuellement affichée pour déterminer les pages enfants.

Retourne :

  • array : Un tableau d’objets WP_Post représentant les pages enfants de la page actuellement affichée. Chaque objet contient des informations sur la page enfant, telles que le titre, le permalien, etc.

Remarque :

Cette fonction suppose que vous êtes sur une page pour laquelle vous souhaitez afficher les pages enfants. Assurez-vous que la page actuelle a des pages enfants publiées pour que cette fonction retourne des résultats.


<?php




$children = new \Twig\TwigFunction('children', function() {
    $parent_id = get_queried_object_id(); 
$args = array(
'post_parent' => $parent_id, // Specify the parent page ID
'post_type' => 'page', // Post type: 'page'
'post_status' => 'publish', // Only get published pages
 'post__not_in' => array($parent_id) 
);

// Get the pages
$child_pages = get_posts($args);


return $child_pages;
});

Fonction : custom

Description :

La fonction custom est utilisée pour générer un lien URL conditionnel en fonction de la valeur d’un champ personnalisé dans WordPress. Si un champ spécifique  est activé, elle génère une URL de page d’enregistrement personnalisée ; sinon, elle retourne le permalien de la page ou du poste spécifié.

Exemple d’implémentation  :

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  custom.php

Paramètres :

  • $id (int) : L’ID du poste ou de la page pour lequel le permalien doit être généré si la condition n’est pas remplie.

Retourne :

  • string : Un URL basé sur la condition.

<?php



$custom_link  = new \Twig\TwigFunction('custom', function($id) {

    $second_id = get_queried_object_id(); 
   $enable_registration_link = get_field("enable_registration_link", $second_id); 
   if(strcmp($enable_registration_link, 'yes') === 0) {
       $id = get_queried_object_id(); 
       return home_url("/registration/".$second_id."/".get_post_field('post_name', $second_id)."/");  
   } else {
      return get_permalink($id);   
   }
   
   });
   

Fonction : fields

Description :

La fonction fields est utilisée pour récupérer la valeur d’un champ personnalisé. Elle permet de spécifier un ID de poste ou de page pour obtenir un champ personnalisé spécifique, ou de récupérer le champ pour l’objet actuellement consulté si aucun ID n’est fourni.

Exemple d’implémentation dans un template Twig :

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  fields.php

Paramètres :

  • $var (string) : Le nom du champ personnalisé que vous souhaitez récupérer.
  • $id (string, optional) : L’ID du poste ou de la page pour lequel le champ personnalisé doit être récupéré. Si cet ID est omis, la fonction récupère le champ pour l’objet actuellement consulté.

Retourne :

  • mixed : La valeur du champ personnalisé spécifié. Le type de la valeur dépend du champ lui-même (texte, tableau, image, etc.).

Remarque :

Assurez-vous que le champ personnalisé que vous essayez de récupérer existe et que son nom est correct. Cette fonction est utile pour accéder facilement aux valeurs des champs personnalisés dans les templates Twig de WordPress.


<?php




$field = new \Twig\TwigFunction('field', function($text, $key = "") {
    if(!empty($key)) {
 return get_field($text, $key);
    } else {
 return get_field($text);   
    }
});
 $twig->addFunction($field);
 
 $author = new \Twig\TwigFunction('author_url', function($id) {
  
 return get_author_posts_url($id);
});

Fonction : form

Description :

La fonction form est utilisée pour afficher un formulaire personnalisé basé sur l’ID d’un poste (post) ou une valeur de sous-page dans WordPress.

Exemple d’implémentation :

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  form.php

Paramètres :

  • $post_id (int) : L’ID du poste à partir duquel le formulaire est récupéré. Ce peut être l’ID d’un formulaire spécifique si fourni.

Retourne :

  • string : Le contenu HTML du formulaire ou le résultat du shortcode pswcontactform si aucun formulaire spécifique n’est trouvé.

<?php

$form = new \Twig\TwigFunction('form', function ($post_id) {
    ob_start(); 
       $subpage = get_query_var('subpage', '');

       $form_id = $post_id;
       if(!empty($subpage)) {
            $contact_id = get_field("contact_us_url", "option");
            $formss = get_field("form_management", $contact_id); 
            if(!empty($formss)) {
            $f = array_column($formss, 'pages'); 
         
            foreach($f as $i => $dd) {
             $post_name = get_post_field('post_name',$dd);
             $element = $formss[$i]; 
            
               
           
             if(!empty($post_name) && strcmp($post_name, $subpage) === 0) {
                     $form_id = $element['form_id'];
             }
            }
            }
       }
if(!empty($form_id)) {
$settings = array(
    'form' => true,
    'post_title' => false,
    'post_content' => false,
    'field_groups' => array($form_id),
    'html_submit_button'  => '<input type="submit" class="immiPressBtn" value="%s" />',
    );
acf_form( $settings );
} else {
    echo do_shortcode('[pswcontactform]'); 
}
return ob_get_clean();
});



Fonction : Phoenix

Description :

La fonction phoenix est utilisée pour récupérer et traiter des informations relatives aux dossiers de blocs de thème WordPress. Elle génère une liste d’objets contenant des données sur les blocs, incluant des détails comme le titre, la description, et une image associée, et met à jour ou crée des posts basés sur ces informations.

Exemple d’implémentation :

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  phoenix.php

Paramètres :

  • $number (int, optionnel) : Le nombre maximum de blocs à récupérer. Si non spécifié ou si la valeur est supérieure au nombre total de blocs disponibles, la fonction récupère tous les blocs.

Retourne :

  • array : Un tableau d’objets contenant les détails des blocs, y compris le titre, la description, la photo, et la date de conception.

<?php



$phoenix = new \Twig\TwigFunction("phoenix", function($number = "") {
    $block_folders = get_block_folders();
    $phoenix = array();
    $phoe = array();
    if(!empty($block_folders)) {
        $total = count($block_folders);
if(!empty($number) && $number < $total) {
    $index = $number;
} else {
    $index = $total;
}

for($i = 0; $i < $index; $i++) {
    $folder = $block_folders[$i];
    $photo = get_stylesheet_directory() . '/blocks/'.$folder."/screenshot.jpg";
$photo_url = get_stylesheet_directory_uri() . '/blocks/'.$folder."/screenshot.jpg";
$json = get_stylesheet_directory() . '/blocks/'.$folder."/block.json";
$title = psw_get_value_by_key($json, "title") ?: ""; 

if (file_exists($photo)) {
    $phoe["photo"] = get_stylesheet_directory_uri() . '/blocks/'.$folder."/screenshot.jpg";
} else {
    $phoe["photo"] = "https://site.lestarplayer.com/2024/06/default.jpg";
}  
$phoe["title"] = str_replace(" Block", "", $title);

$phoe["description"] = psw_get_value_by_key($json, "description") ?: "";

$args = $phoe;
// Usage example
$args['phoenix_design'] = $folder;
$data = array();

 $data['title'] = $args['title']; 
    $data['description'] = $args['description']; 
    $data['dossier'] =$args['phoenix_design']; 
    $data['auteur'] = get_current_user_id(); 
    $data['photo'] = $args['photo']; 
     $dossier = sanitize_text_field($data['dossier']);
       $folder = get_stylesheet_directory() . "/blocks/" . $dossier;
       
       if (file_exists($folder) && is_dir($folder)) {
        $file_mod_time = date("F d Y H:i:s.", filemtime($folder));
    } else {
        $file_mod_time =date("F d Y H:i:s.");
    }
     
     $design_date = $file_mod_time;
     
$data['design_date'] = $design_date; 
upsert_phoenix_design($data);
$new_or_existing_post = get_or_create_post_by_phoenix_design($args);
$phoenix[] = $new_or_existing_post; 
}
} 
return $phoenix; 
});

Fonction : post

Description : La fonction post permet de récupérer un objet post complet à partir de son identifiant. Elle est utile pour obtenir toutes les informations associées à un post dans WordPress en utilisant son ID.

Exemple d’implémentation :

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  post.php

Paramètres :

  • $photo_id (int) : L’identifiant du post à récupérer. Il peut s’agir d’un post standard, d’une page, ou d’un autre type de contenu dans WordPress.

Retourne :

  • object : Un objet WP_Post contenant toutes les informations du post, y compris le titre, le contenu, le type de post, la date de publication, etc. Si le post n’existe pas ou si l’ID est invalide, la fonction retourne null.

Fonction : posts

Description :

La fonction posts est utilisée pour récupérer une liste de posts en fonction des paramètres fournis.

Exemple d’implémentation:

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  posts.php

Paramètres :

  • $posttype (string) : Type de post à récupérer. Par exemple, ‘post’, ‘page’, ou un type de post personnalisé.
  • $taxonomy (string) : Taxonomie associée aux posts. Par exemple, ‘category’, ‘tag’, ou une taxonomie personnalisée.
  • $limit (int) : Nombre maximum de posts à récupérer.
  • $parent (int) : ID du post parent pour filtrer les posts enfants.
  • $category (string) : Catégorie spécifique pour filtrer les posts.

Retourne :

  • Array : Un tableau de posts généré par la fonction build_post(). Chaque post peut inclure des informations comme le titre, l’extrait, le contenu, etc.

<?php



$build_post = new \Twig\TwigFunction('posts', function ($posttype, $taxonomy, $limit, $parent, $category) {
    $valeur = "";
$posttype = get_field("posttype") ?: "";
$taxonomy = get_field("product_taxonomy") ?: "";
$limit = get_field("post_limit") ?: 3;
$parent = get_field("post_parent") ?: 0;
$category = get_field("select_category") ?: ""; 
    return build_post($posttype, $taxonomy, $limit, $parent, $category);
});

Fonction : products

Description :

La fonction products est utilisée pour récupérer des informations sur un produit WooCommerce basé sur son ID. Elle peut retourner le produit complet ou des informations spécifiques comme les prix du produit, formatés pour l’affichage.

Exemple d’implémentation:

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  products.php

Paramètres :

  • $post_id (int) : ID du produit dont les informations doivent être récupérées.
  • $return (string) : Détermine le type d’information à retourner.
  • «  » (par défaut) : Retourne l’objet produit complet.
  • « price » : Retourne un tableau avec les prix formatés du produit.

Retourne :

  • Si $return est vide ou non spécifié : L’objet produit complet (WC_Product).
  • Si $return est ‘price’ : Un tableau contenant deux éléments :
  • Le prix régulier formaté.
  • Le prix de vente formaté (peut être vide si aucune réduction n’est appliquée).

<?php




$products = new \Twig\TwigFunction('products', function ($post_id, $return = "") {
    if(!function_exists( 'is_shop' )) {
        return;
    }
    $product = wc_get_product($post_id);
    if ($product && $return == 'price') {
          $regular_price = $product->get_regular_price();
    // Get the sale price
       $sale_price = $product->get_sale_price();
     $formatted_regular_price = wc_price($regular_price);
    $formatted_sale_price = wc_price($sale_price);
          return array($formatted_regular_price, $formatted_sale_price); 
    } else {
       return $product;  
    }
    
});





Fonction : terms

Description :

La fonction terms est utilisée pour récupérer les détails d’un terme de taxonomie WordPress basé sur son ID. Elle peut renvoyer un objet terme si le terme est valide ou une chaîne vide si le terme est introuvable ou en cas d’erreur.

Exemple d’implémentation :

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  terms.php

Paramètres :

  • $id (int) : ID du terme de taxonomie que vous souhaitez récupérer.
  • $tax (string) : Le nom de la taxonomie à laquelle le terme appartient (par exemple, ‘category’, ‘post_tag’, ou toute taxonomie personnalisée).

Retourne :

  • Si le terme est valide : Un objet terme (WP_Term) contenant des informations sur le terme (comme name, description, etc.).
  • Si le terme est introuvable ou en cas d’erreur : Une chaîne vide.

<?php


$term = new \Twig\TwigFunction('terms', function($id, $tax) {
    if(is_wp_error(get_term_by('id', $id, $tax))) {
        return "";
    } else {
   return get_term_by('id', $id, $tax);
    }
});

Fonction : users>

Description :

La fonction users permet de récupérer une liste d’utilisateurs WordPress en fonction d’une valeur spécifique d’un champ utilisateur personnalisé.

Exemple d’implémentation:

Vous pouvez en savoir plus en vous référant au fichier PHP nommé  users.php

Paramètre :

  • $role_value (string) : La valeur du champ méta-donnée (par exemple, le rôle ou une autre valeur de méta-donnée utilisateur) utilisée pour filtrer les utilisateurs.

Retourne :

  • Une liste d’objets WP_User : Les utilisateurs qui correspondent aux critères spécifiés.
  • Si aucun utilisateur n’est trouvé : Un tableau vide.
  • Sinon : Retourne un tableau vide.

<?php


$user_data = new \Twig\TwigFunction("users", function($role_value) {
    $args = array(
        'meta_key' => 'extra_role',
        'meta_value' => $role_value,
        'meta_compare' => '='
    );

    $user_query = new WP_User_Query($args);

    if (!empty($user_query->get_results())) {
        return $user_query->get_results();
    }

    return array(); // Return an empty array if no users are found
});

Laisser un commentaire :

Nous utilisons des cookies pour garantir que nous vous offrons la meilleure expérience sur notre site Web. En poursuivant votre navigation sur ce site, vous consentez à notre utilisation des cookies. ... Notre politique