[Résolu] Extension pour afficher date mise à jour du contenu (Créer un compte)

  • WordPress :5.3
  • Statut : résolu
15 sujets de 16 à 30 (sur un total de 40)
  • Auteur
    Messages
  • #2303467
    ferman
    Participant
    Maître WordPress
    2097 contributions

    Bizarre mais avec les fonctions php, c’est difficile d’être sûr que l’on est dans les mêmes conditions que l’autre. J’utilise mon site d’essai et  la page “home” affiche les derniers articles. Pour en avoir le coeur net, j’ai mis à jour un article  (auparavant j’avais essayé avec une page)  et ça marche aussi. Mystère, donc.

    Peut-être faut-il mettre “front_page”? Je vais essayer cet après-midi avec d’autres pages normales, autres que “home” et je reviens donner le résultat.

    #2303468
    Alain42
    Participant
    Initié WordPress
    13 contributions

    wahowww !!

    Super que vous ayez cherché et répondu ainsi.

    Je code en php et cela me permet de ne pas avoir à rechercher dans quelle table est stockée la date des articles et pages

    Et je débute en WP et cela me permet aussi de comprendre comment intégrer des surcouches PHP

    Je vais tester ça et vous tiens au courant. Mais soyez patients je n’ai pas trop de temps en ce moment malgré le confinement.

    Merci beaucoup

    Alain

     

    #2303469
    PhiLyon
    Modérateur
    Maître WordPress
    24985 contributions

    @ferman – Je suis en PHP 7.3.5, WordPress 5.3.2 en local avec FlyWheel.

    🙂

    #2303473
    ferman
    Participant
    Maître WordPress
    2097 contributions

    @PhiLyon. Je suis en PHP 7.2.15, WordPress 5.3.2 en local avec XAMPP.

    Alors j’ai essayé plusieurs choses:

    1. Remplacer

    if ( is_home())

    par:

    if ( is_front_page() && is_home()), même filtre.

    et par:

    if ( is_page(“page-test2”)), add_filter (‘the_content’, ‘last_update’);

    2. Utiliser un shortcode (shortcode1) dans un widget texte en front page, placé dans la zone “Front-page Banner Ads Section” (pièce jointe 1 et le code ci-dessous) ou dans un widget de bas de page “footer first section” (pièce jointe 2) le texte  apparaît alors sur toutes les pages.

    function last_update(){
    	
    	global $wpdb;
    				
    		$last_updates = $wpdb->get_results("SELECT post_date, post_title FROM $wpdb->posts  WHERE post_date=(
    		SELECT MAX(post_modified)FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish'  OR post_type = 'page' AND post_status= 'publish')");
    		
    		foreach ($last_updates  as $last_update){
    
    		echo '<div class="last_update"><h2>'.'Site actualisé le:'.'  '.$last_update->post_date.'  '.$last_update->post_title.'</h2></div>';
    		}
    	}
    
    add_shortcode ('shortcode1b', 'last_update');

    Cela fonctionne dans tous les cas. Je ne crois pas que ce soit un problème de PHP. Mais je ne vois pas où peut bien être le problême.

     

    • Cette réponse a été modifiée le il y a 1 semaine et 1 jour par ferman.
    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2303505
    PhiLyon
    Modérateur
    Maître WordPress
    24985 contributions

    Bof, toujours pas, je laisse tomber.

    🙂

    #2305015
    ferman
    Participant
    Maître WordPress
    2097 contributions

    @PhiLyon.

    Et aucun message? Il y a quelque chose qui échappe, là. C’est dommage.  On va voir ce que dit@Alain42.

    #2305019
    PhiLyon
    Modérateur
    Maître WordPress
    24985 contributions

    Il est en 7.2 également, apparemment.

    🙂

    #2305062
    PhiLyon
    Modérateur
    Maître WordPress
    24985 contributions

    Bonjour.

    Du nouveau, j’ai testé dans une install en 7.4.1, le code fonctionne, pas testé avec le shortcode.

    Mon install en 7.3.5 doit coincer quelque part, j’avais pourtant tout désactivé ???

    🙂

    #2305064
    Alain42
    Participant
    Initié WordPress
    13 contributions

    Bonjour,

    J’ai essaye de passer PHP en 7.3 chez OVH. J’obtiens un 7.2 version bêta .

    7.4 n’est pas proposé. je suis donc revenu en 7.2

    Je n’ai pas encore eu le temps de tester le code de PhiLyon.

    Merci

    #2305079
    ferman
    Participant
    Maître WordPress
    2097 contributions

    Bonjour,

    J’ai essaye de passer PHP en 7.3 chez OVH. J’obtiens un 7.2 version bêta .

    Vous voulez sans doute dire 7.3 version bêta. C’est ce que j’ai.  Chez ovh il n’y a pas de version 7.3 stable mais ça fonctionne sans problème.

    #2305092
    Alain42
    Participant
    Initié WordPress
    13 contributions

    Bonjour,

    Dans les infos générales de mon hébergement , j’ai bien 7.2 qui est affiché avec un pett triangle danger et si je regardes avec le script php_info() il me donne la version php 7.2.22

    Bizarre OVH

     

     

    #2305093
    ferman
    Participant
    Maître WordPress
    2097 contributions

    7.2, c’est votre version actuelle mais vous ne pouvez pas changer la version comme indiqué ICI ?

    #2305098
    Alain42
    Participant
    Initié WordPress
    13 contributions

    Bonsoir,

    Oui c’est bien comme cela que j’ai procédé.

    dans la liste j’ai bien choisi  7.3 stable

    Avant j’avais 7.2 affiché après j’ai 7.2 avec le triangle danger (et si je met le curseur dessus => version bêta)

    Je viens de tester le code que vous proposez.

    • j’ai installé le plugin PHP “code snippet”
    • j’ai mis le code avec l’éditeur proposé par code snippet, il est activé et exécutable partout
    • j’ai rajouté dans fonctions.php  add_filter(‘widget_text’,’do_shortcode’); //préconisé par wpmarmite.com
    • j’ai mis un widget texte dans le footer avec le shortcode entre []
    • la date ne s’affiche pas

    Ai je raté une étape ?

    #2305101
    ferman
    Participant
    Maître WordPress
    2097 contributions

    Si vous utilisez code snippet, il ne faut rien mettre dans functions.php et inversement, si vous utilisez functions.php…etc.

    J’ai un thème enfant donc j’ai mis le code donné plus haut, en terminant par : “add_shortcode(‘le_nom_de_votre_shortcode’, ‘le_nom_de_la_fonction’); ” dans functions.php du thème enfant. Le shortcode lui même entre crochets va dans le widget texte comme vous avez fait. Par contre, pas de do_shortcode :La méthode est utile quand on veut avoir un shortcode dans un fichier php (par ex footer.php, header.php) ou un widget html mais pas dans un widget texte. Voir ICI et ICI pour la différence entre widget_text et widget html pour ce qui concerne les shortcodes.

    A noter; si vous mettez le widget texte dans le footer, il s’affichera sur toutes les pages du site. Il vaut mieux choisir un fichier de front-page. Il apparaîtra uniquement sur la page d’accueil et placé comme sur la copie d’écran précédente.

     

    • Cette réponse a été modifiée le il y a 1 semaine par ferman.
    #2305102
    PhiLyon
    Modérateur
    Maître WordPress
    24985 contributions

    @ferman – Bonjour.

    Comment as-tu fait un thème enfant d’un thème enfant ?

    🙂

15 sujets de 16 à 30 (sur un total de 40)
  • Vous devez être connecté pour répondre à ce sujet.