Un utilisateur a demandé 👇

Depuis que j’ai commencé à utiliser URLParams, je vois des centaines de notifications dans mon journal de débogage comme suit :

[17-Feb-2017 11:10:16 UTC] Avertissement PHP : index indéfini : groupe à /home/SITENAME/public_html/wp-content/plugins/url-params/urlparams.php à la ligne 39


(@chrisk200)

il y a 3 ans, 4 mois

Moi aussi:

Avertissement : Index non défini : SelPlatform à /xxxxx/xxxxx/xxxxxx.dev/wp-content/plugins/url-params/urlparams.php à la ligne 39

Avez-vous obtenu un emploi? (Je vois que cette question n’est pas restée sans réponse depuis plus de 4 mois)

WordPress Rythme 4.8. Chris


(@reffinedimpact)

il y a 3 ans, 4 mois

Non, nous n’avons pas reçu de charge de travail et n’avons jamais eu de nouvelles du développeur.


(@chrisk200)

il y a 3 ans, 4 mois

Merci pour votre réponse. J’ai pu répondre automatiquement à ma propre question – après quelques recherches, j’ai découvert que le problème venait de $_REQUEST[$param] instructions (il y en a 2). Lorsqu’il n’y a pas de fil de requête dans l’URL, essayez d’utiliser $_REQUEST[$param] génère l’avertissement “Index non défini :”. Pour éviter cela, vous devez vérifier si $_REQUEST est précédemment défini pour être utilisé par : if (isset($_REQUEST)[$param])) {

} J’ai mis à jour le code du plugin en conséquence et sans donner d’autres avertissements. Je le copie et le colle ci-dessous dans l’espoir que le code de formatage de l’éditeur survive. Modifiez simplement le formulaire du plugin WordPress et copiez ce code et remplacez le code existant. Je recommande à l’auteur du plugin de valider cette mise à jour et de créer une nouvelle version.


<?php
/*
Plugin Name: URL Params
Plugin URI: http://asandia.com/wordpress-plugins/urlparams/
Description: Short Code to grab any URL Parameter
Version: 2.1
Author: Jeremy B. Shapiro
Author URI: http://www.asandia.com/
----------------------------------------------------------------------
Updated by chrisK200 on July 4 2017 (search chrisK200 comments in the code) to avoid Undefined index notices.
See this trhead in the support forum:
https://wordpress.org/support/topic/php-notice-undefined-index-group/
----------------------------------------------------------------------
*/

/*
URL Params (WordPress Plugin)
Copyright (C) 2011-2016 Jeremy Shapiro

*/

//tell wordpress to register the shortcodes
add_shortcode("urlparam", "urlparam");
add_shortcode("ifurlparam", "ifurlparam");

function urlparam($atts, $content) {
    $defaults = array(
        'param'          => '',
        'default'        => '',
        'dateformat'	 => '',
        'attr'           => '',
        'htmltag'        => false,
    );

    # we used to use shortcode_atts(), but that would nuke an extra attributes that we don't know about but want. array_merge() keeps them all.
    $atts = array_merge($defaults, $atts);

    $params = preg_split('/,s*/',$atts['param']);

    $return = false;

    foreach($params as $param)

    {
//	chrisK200 -------------------
	if(isset($_REQUEST[$param])){
//	chrisK200 -------------------
	
        if(!$return and ($rawtext = $_REQUEST[$param]))
        {
            if(($atts['dateformat'] != '') && strtotime($rawtext))
            {
                $return = date($atts['dateformat'], strtotime($rawtext));
            } else {
                $return = esc_html($rawtext);
            }
        }
//	chrisK200
	}
//	chrisK200
    }

    if(!$return) {
        $return = $atts['default'];
    }

    if($atts['attr']) {
        $return = ' ' . $atts['attr'] . '="' . $return . '" ';

        if($atts['htmltag']) {
            $tagname = $atts['htmltag'];

            foreach(array_keys($defaults) as $key) {
                unset($atts[$key]);
            }

            $otheratts = "";
            foreach($atts as $key => $val) {
                $otheratts .= " $key="$val"";
            }

            $return = "<$tagname $otheratts $return".($content ? ">$content</$tagname>" : "/>");
        }
    }

    return $return;
}

/*
 * If 'param' is found and 'is' is set, compare the two and display the contact if they match
 * If 'param' is found and 'is' isn't set, display the content between the tags
 * If 'param' is not found and 'empty' is set, display the content between the tags
 *
 */
function ifurlparam($atts, $content) {
    $atts = shortcode_atts(array(
        'param'           => '',
        'empty'          => false,
        'is'            => false,
    ), $atts);

    $params = preg_split('/,s*/',$atts['param']);

    foreach($params as $param)
    {
//	chrisK200 -------------------		
	if(isset($_REQUEST[$param])){
//	chrisK200 -------------------
        if($_REQUEST[$param])
        {
            if($atts['empty'])
            {
                return '';
            } elseif(!$atts['is'] or ($_REQUEST[$param] == $atts['is'])) {
                return do_shortcode($content);
            }
        }
//	chrisK200		
	}
//	chrisK200	
    }

    if ($atts['empty'])
    {
        return do_shortcode($content);
    }

    return '';
}

?>


(@ astucieusement)

il y a 3 ans, 1 mois

Sérieusement, l’auteur de ce plugin ne semble pas interférer avec la réponse aux demandes d’assistance, vous pouvez donc vouloir bifurquer le plugin avec ce correctif de bogue.

Cela a-t-il résolu votre problème ?

Was this helpful?

0 / 0

Leave a Reply 0

Your email address will not be published. Required fields are marked *