WordPress: permettre aux administrateurs d’ajouter du JavaScript dans un widget ou article

Si WordPress est installé en mode « network » ou « multisite », les administrateurs n’ont pas le droit de mettre ce qu’ils veulent (du JavaScript par exemple) dans les articles, pages, commentaires ou widgets texte. Seuls les administrateurs du réseau ont cette capacité.

Dans la doc officielle de WP il est précisé que pour autoriser les utilisateurs à poster des marqueurs HTML ou du JavaScript il faut que le rôle auquel ils sont associés ait la capacité « unfiltered_html ».

Cependant si l’ont fait un test en ajoutant ce bout de code dans le fichier functions.php du thème:

$role = get_role( 'administrator' );//récupération du rôle "administrator"
$role->add_cap( 'unfiltered_html' ); //ajout de la capacité "unfiltered_html"

on se rend compte que cela ne fonctionne pas..

En fouillant un peu pour résoudre mon problème j’ai trouvé ce plugin: WP-Admin-Unfiltered-HTML qui fonctionne très bien.

Attention cependant à ne donner cette capacité qu’à une personne de confiance 😉

source: Documentation WP

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plugin WordPress – Basic Google Authorship

DESCRIPTION

Ce plugin permet de remplacer le lien « posté par » de vos articles par un lien vers votre profil Google+ . Cela permet d’afficher l’avatar de votre profile Google+ dans les résultats de recherche. Fonctionne avec plusieurs auteurs.

authorshipGoogle

———– English version ———–

This plugin replaces author links of your posts with your Google+ Profile Link.
This allow your Google+ Profile picture to be displayed in Google search results.
It Works for single author and multi-author WordPress sites.

TÉLÉCHARGEMENT

Pour télécharger le plugin depuis WordPress.org cliquez ici: Basic Google Authorship plugin

INSTALLATION & UTILISATION

  1. Extract and upload the `basic-google-authorship` directory into `/wp-content/plugins`
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Each writer should update the “Contributor to” field in their Google+ profile to link to the website
  4. Update each author’s profile to include a link to their Google+ profile.
  5. In your WordPress theme replace
    get_the_author()

    by

    do_shortcode("[basic_google_authorship_name]")

    and

    get_author_posts_url( get_the_author_meta( 'ID' ) )

    by

    do_shortcode("[basic_google_authorship_link]")
  6. Confirm that your authorship is working properly by verifying with Google’s Rich Snippets tool.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

WordPress: envoyer un e-mail à chaque nouvel article publié

Voici une fonction permettant d’envoyer un e-mail à chaque nouvel article publié:

function set_contenttype($content_type){
  return 'text/html';
}

function email_members($post_ID)  {

  $notifyTo = 'mail@example.org';//comma separated
  $optionName = "email_members_notifications";

  $var = get_option($optionName , null );

  $emailMembersNotifications= array();
  if($var != null){
    $emailMembersNotifications = explode(';',$var);
  }

  if(!in_array($post_ID,$emailMembersNotifications)){
    add_filter('wp_mail_content_type','set_contenttype');
    $post = get_post($post_ID);




    $message = '<html lang="fr">
                <head>
                    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">

                </head>
                <body>
                Bonjour,<br/>
                Un nouvel article a été publié sur le site <a href="'.get_bloginfo('url').'">'.get_bloginfo('url').'</a>.<br/>
                Pour le consulter, merci de cliquer sur le lien suivant:<br/>
                <a href="'.$post->guid.'">'.get_the_title($post_ID).'</a>
            </body>
        </html>';

    if(wp_mail(
        $notifyTo,
        '[MON-BLOG] Nouvel article: '.html_entity_decode(get_the_title($post_ID), ENT_COMPAT, 'UTF-8'),
        $message)){
      $emailMembersNotifications[] = $post_ID;
    }


    if(!empty($emailMembersNotifications)){
      if(!get_option($optionName)){
        add_option( $optionName, implode(';',$emailMembersNotifications) );
      } else {
        update_option( $optionName, implode(';',$emailMembersNotifications) );
      }
    }
  }
  return $post_ID;
}

add_action('publish_post', 'email_members');

Cette fonction est à placer dans le fichier functions.php de votre thème (wp-content/themes/[VOTRE-THEME]/functions.php)

3 réflexions au sujet de « WordPress: envoyer un e-mail à chaque nouvel article publié »

  1. Bonjour, merci pour cette fonction qui pourait m’être très utile. Je voulais tout de même savoir si il était possible d’envoyer par email le titre et le contenu de chaque nouvel article ? De plus est-il possible de définir une catégorie spécifique d’article à envoyer ?

    Paul

    • Bonjour, voici une modification de la fonction email_on_post qui permet de choisir les articles qui appartiennent à certaines catégories:

      function email_on_post($post_ID)  {
       
          $notifyTo = 'mail@example.org';//comma separated
       
          $optionName = "email_on_post";
          $emailOnPostNotifications = explode(';',get_option($optionName , null ));
      
          if(!in_array($post_ID,$emailOnPostNotifications)){
              add_filter('wp_mail_content_type',create_function('', 'return "text/html";'));
              $post = get_post($post_ID);
              
              $catToInclude = array(4,3);//id des catégories à inclure
       		foreach(wp_get_post_categories($post_ID) as $catId){
       			if(in_array($catId,$catToInclude)){
      	 			
      	        	wp_mail(
      	            $notifyTo,
      	            '[MON-BLOG] Nouvel article: '.html_entity_decode(get_the_title($post_ID), ENT_COMPAT, 'UTF-8'),
      	            '
      	                
      	                    
      	                
      	                
      	                Bonjour,
      Un nouvel article a été publié sur le site '.get_bloginfo('url').'.
      Pour le consulter, merci de cliquer sur le lien suivant:
      guid.'">'.get_the_title($post_ID).' '); $emailOnPostNotifications[] = $post_ID; if(count($emailOnPostNotifications) < 1){ update_option( $optionName, implode(';',$emailOnPostNotifications) ); } else { add_option( $optionName, implode(';',$emailOnPostNotifications) ); } break; } } } return $post_ID; }

      Pour récupérer le titre et le contenu de l'article utilisez respectivement la fonction get_the_title($post_ID) et $post->post_content

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plugin WordPress – 404 Error Monitor

DESCRIPTION

Ce plugin enregistre les erreurs 404 (Page non trouvée) sur votre blog WordPress. Il enregistre également l’adresse IP de l’utilisateur, le referrer et le nombre de fois ou est arrivée l’erreur. Ce plugin est entièrement compatible avec une installation multisite de WordPress.

———– English version ———–

This plugin logs 404 (Page Not Found) errors on your WordPress site. It also logs useful informations like referrer, user address, and error hit count. It is fully compatible with a multisite configuration.

TÉLÉCHARGEMENT

Pour télécharger le plugin depuis WordPress.org cliquez ici: 404 Error Monitor WordPress plugin ou rendez-vous sur GitHub: https://github.com/phpgeekfr/404-error-monitor-for-WordPress

INSTALLATION & UTILISATION

  1. Déposez le dossier appelé 404-error-monitor dans le dossier /wp-content/plugins/
  2. Activez le plugin depuis le menu « Extensions »
  3. Configurez les paramètres du plugin. Si vous avez opté pour une installation sur le réseau, utilisez le tableau du bord du réseau afin de configurer les paramètres.
  4. Allez sur la page 404 Error monitor pour voir la liste des erreurs 404. Pour une installation sur le réseau, utilisez la page 404 Error monitor du tableau de bord du réseau pour avoir une liste globale des erreurs sur votre réseau ou utilisez la page 404 Error monitor présente dans le menu Réglages du tableau de bord d’un site pour voir uniquement les erreurs du site.

———– English version ———–

  1. Upload the folder named 404-error-monitor in /wp-content/plugins/.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Configure settings. If you opted for a network install go to network admin dashboard to configure settings.
  4. Go to 404 Error monitor page to see error list. For network installation, use 404 Error monitor page from network admin dashboard to see error list for the entire network or use 404 Error monitor page located in the settings menu of an admin dashboard to see website error lists individually.

24 réflexions au sujet de « Plugin WordPress – 404 Error Monitor »

  1. Ping : Antivirus Software Blog » 404-error-monitor 1.0.1

  2. Version 1.0.6 is now available.
    Here is the changelog:
    -added export functionality (in csv format).
    -fixed extension filters.

    Thank you for your feedback, it helps the plugin getting better.

  3. Je ne conseille pas ce plugin,
    Je l’ai installé et je me suis aperçu qu’il considérait les 301 redirect comme étant des 404.

    Il logue les 301 redirects.

    • Bonjour,
      Le plugin utilise la fonction native de WordPress « is_404() » pour déterminer si la page est une 404.

      Si des pages qui ne sont pas des 404 apparaissent dans la liste des erreurs, il s’agit probablement d’un problème propre à votre installation. Quelles sont les urls concernées par la redirection 301 qui s’affichent dans le plugin ? Les pages source ou cible?

      Merci

  4. For some reason this plugin is reporting errors from some link clicks that are not errors at afterall. I just tested by going to one of the reported error links and clicking through to the external page via a prettylink redirect. Then I refreshed the 404 error page and sure enough the error count increased by 1. WP 3.6 with 404 error plugin 1.0.7.

    • You are not the first to report this issue but as i previously said in an older comment, this plugin is using a native WordPress function named « is_404 ». This bug is maybe related to a bug in WP 3.6 or in the theme you use.

  5. Version 1.0.8 has been released.
    Here is the changelog:
    * fixed too generic css issue
    * fixed issue with unsecure content for HTTPS admin area
    * disabled « delete all » and « export to csv » buttons when there are no errors

  6. Version 1.0.9 has been released.
    Here is the changelog:
    * improved security while saving entries.
    * changed required capacity to view error list and settings page. New capacity required is: manage_options.
    * fixed some minor bugs

  7. I would like to have anyone with a role of « Editor » to be able to see the errorMonitor page but not the errorMonitorSettings page. Perhaps a list of roles with checkboxes so the admin can make the decision on who can see what.

  8. Version 1.1 is finally out:
    * improved security for deleting and exporting entries.
    * added pagination in error list page.
    * 404 entries are no longer deleted on plugin deactivation.
    * not saving 404 errors for redirected posts.
    * added setting option to define if editor users can see and export error list.

  9. Hey. im experiensing that the plugin record a larg numbers of entries for pages that is not broken, also it reports more fails than actually daily visitors. i have wp 4.6.1 and the latest plugin ver.1.1

    • Thank you for your feedback.
      Is the concerned pages have more than one slug (it happens when you change a page slug from the-post.html to post.html) ?

      Will look into it anyway.

      Regards,
      Bruce

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Afficher les options avancées (kitchen-sink) de l’éditeur visuel de wordpress

Si pour une raison obscure, la seconde ligne de l’éditeur visuel de votre WordPress, aussi appelée « kitchen-sink » a disparue et qu’a également disparu le bouton « Afficher/cacher les options avancées » (cf image ) il suffit de cliquer dans la zone d’édition et de taper « Alt+Shift+Z » pour rétablir la deuxième ligne.

Si vous n’êtes pas très familier avec l’éditeur html, cette ligne est utile notamment pour créer des titres (h1, h2, h3 ..) qui améliorent le référencement de votre site.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plugin domain-mapping : supprimer le « cross domain login »

Si vous utilisez wordpress pour administrer plusieurs blogs, vous utilisez surement le plugin wordpress-mu-domain-mapping pour gérer les redirections vers vos différents domaines.

Par défaut, ce plugin insère un petit bout de Javascript dans vos pages qui fait appel à une ressource située sur le domaine principal de votre installation WordPress. Il est utilisé afin que vous ne soyez pas obligé de vous connecter à l’interface d’administration de chacun de vos blogs.

<script src='http://myprimarydomain.com/
dm=c7301fe2427cc4720c3b1933b64ece3b&action=load&blogid=2&siteid=1&t=1048960837&back=http%3A%2F%2Fexample.com%2F'
type='text/javascript'>

Ce Javascript peut poser problème dans certains cas.
Il peut causer des « infinite loop » lorsque vous passez d’un site à un autre.
Il peut également poser problème si votre site principal est protégé par htaccess ou si vous ne voulez pas que vos différents sites soient reliés.

Pour empêcher l’affichage du script il suffit d’ajouter cette ligne dans le fichier functions.php de vos différents thèmes:

remove_action( 'wp_head', 'remote_login_js_loader' );

Bonne journée!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *