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