Un utilisateur a demandé 👇
Dans wordpress, nous pouvons trouver la forme de paramètre d’URL au contenu. c’est-à-dire www.domainname.com/?ppc=any%20phrase
pour <h1>
Une prière </h1>
$variable = $_GET['param_name'];
//Or as you have it
$ppc = $_GET['ppc'];
Cela peut-il faire une liste des phrases autorisées, en suivant les paramètres ?
c’est-à-dire
ppc=super%20hero
ppc=easy%20way%20home
pour des raisons de sécurité, c’est-à-dire en utilisant htaccess ou toute autre méthode ?
Ce sujet a été modifié il y a 1 an et 9 mois par.
(@vrandom)
il y a 1 an, 9 mois
Solution possible en utilisant les options de code WP.
Ajoutez à votre fichier de modèle functions.php.
add_action('parse_query', 'check_querystring_ppc_value_is_valid');
function check_querystring_ppc_value_is_valid( $wp_query ) {
// check if we have the ppc query string var
if (($ppcValue = get_query_var('ppc', 'nope')) != 'nope') {
// setup the valid choices
$validPPCChoices = [
'super hero', 'easy way home'
];
if (in_array(strtolower($ppcValue), $validPPCChoices)) {
// the ppc value is valid
// DO SOMETHING
} else {
// the ppc value is NOT valid
// DO SOMETHING
}
}
}
function add_custom_query_vars_filter($vars) {
$vars[] .= 'ppc';
return $vars;
}
add_filter( 'query_vars', 'add_custom_query_vars_filter' );
(@ ladnie77)
il y a 1 an, 9 mois
merci, ça marche presque 🙂 mais j’ai chaque phrase quatre fois par page, deux fois dans l’en-tête deux fois dans le contenu j’en ai besoin d’une seule (dans le script) / la valeur ppc est valide
balisage get_query_var(‘ppc’);
et (dans le sujet)
Cette réponse a été modifiée il y a 1 an et 9 mois par.
(@bcworkz)
il y a 1 an, 9 mois
L’action ‘parse_query’ déclenche toutes les requêtes sur la page, y compris les requêtes pour les éléments de menu. La requête var ppc passée en paramètre d’URL est également disponible pour toutes les requêtes de la page, sa seule présence n’est donc pas un critère suffisant pour l’appliquer en cas de besoin et ne pas l’appliquer en cas de besoin.
Vous avez besoin de plus de conditions dans votre code/vrandom pour vous assurer qu’il n’est appliqué qu’en cas de besoin. Une autre possibilité serait d’appeler add_action() “parse_query” juste avant qu’il ne soit nécessaire, peut-être en l’appelant sur la page du modèle. Demandez ensuite à votre appel d’être supprimé de la pile d’actions “parse_query” afin qu’il ne s’exécute plus après une seule utilisation.
(@vrandom)
il y a 1 an, 9 mois
Hmm, ok, je pensais que vous essayiez de rediriger la page ou quelque chose basé sur la valeur ppc pour être valide.
Je ne suis pas sûr de ce que vous essayez d’atteindre. Ce que @bcworkz a dit pourrait fonctionner, mais pourrait être trop difficile à tuer pour ce que vous voulez.
Vous pouvez le faire si vous voulez simplement faire écho au ppc.
(in content) <h1><?php echo get_query_var(‘ppc’).“!”; ?></h1>
Mais cela ne vérifie pas si c’est valide.
Pouvez-vous expliquer le processus que vous devez suivre?
(@ ladnie77)
il y a 1 an, 9 mois
Le paramètre IDEA DYNAMICALLY FROM url IN h1 dans le contenu, c’est-à-dire. nomdedomaine.com?ppc=superhero
je
MAIS seulement des phrases limitées (prédéfinies), c’est-à-dire que si je tape domainname.com?ppc=superhero2 JE NE PEUX PAS
Oui je l’utilise
h1 contient tout ce que je tape dans l’URL, c’est-à-dire superhero2
(@vrandom)
il y a 1 an, 9 mois
Ok, je comprends ici.
Vous souhaitez afficher la valeur ppc sur votre page en h1, mais si cette valeur ne figure pas dans la liste des options valides, alors si la valeur ppc n’est pas une balise h1 vide, elle le sera.
Si c’est important, l’affichage de la valeur ppc dépend du contenu de l’URL. Donc, si j’appelle domainname.com?ppc=super hero, la valeur d’affichage ppc est “superhero”, mais si domainname.com?ppc=Super Hero, alors la valeur d’affichage ppc est “Super Hero”. Si vous voulez la valeur d’affichage de « Super-héros » pour « super-héros », vous pouvez modifier la fonction pour définir une valeur d’affichage par défaut pour les options valides.
Si c’est ce que vous voulez, je pense que cela peut être fait sans utiliser add_action(‘parse_query’… et où vous voulez afficher la valeur.
Supprimez la fonction d’origine et les lignes add_action, mais conservez add_custom_query_vars_filter et sa ligne de filtre.
ajoutez cette fonction dans votre fichier functions.php
function get_ppc_value_if_valid( $default="", $beforeText="", $afterText="" ) {
// check if we have the ppc query string var
if (($ppcValue = get_query_var('ppc', 'nope')) != 'nope') {
// setup the valid choices with the display values
$validPPCChoices = [
'super hero' => 'Super Hero',
'easy way home' => "Easy Way Home"
];
if (in_array(strtolower($ppcValue), $validPPCChoices)) {
// the ppc value is valid
return $beforeText. $validPPCChoices[strtolower($ppcValue)].$afterText;
} else {
// the ppc value is NOT valid
}
}
return $default;
}
Ensuite, dans votre modèle, cela est utilisé lorsque vous souhaitez afficher la valeur ppc,
echo get_ppc_value_if_valid('', '<h1>', '!</h1>');
Ainsi, avec le code modifié, pour le héros de l’URL, domainname.com?ppc=super, il renverrait
, et pour domainname.com?ppc=super hero2, cela ne résonnerait pas du tout. Je ne créerais pas de balise vide
Was this helpful?
0 / 0