Je viens de tomber sur cette page avec des exigences presque similaires à la mienne
Plusieurs points de terminaison sur la même page
je dois obtenir les mêmes fonctionnalités, mais je souhaite également transmettre certains paramètres à la page où toutes ces URL seront mappées. par exemple
http://mysite.com/test/link1
http://mysite.com/test/link2
http://mysite.com/test/link3
je veux les mapper à la même URL
http://mysite.com/test/finalDestination
en même temps, je veux aussi envoyer d'autres paramètres comme
afin que je puisse les utiliser à cette page pour ma logique personnalisée.Je sais comment le faire dans JSP/Java où je peux les envoyer en tant que paramètres de demande dans POST demande et peut les retenter dans le JSP final
comment je peux y arriver, c'est wordpress en utilisant php.my. Les préfrences ne doivent pas utiliser de chaîne de requête.
Ou est-ce possible comme si je créais une URL avec comme
http://mysite.com/test/user1
http://mysite.com/test/user2
http://mysite.com/test/user3
où user1 etc. peut être extrait de la base de données et nous pouvons nous assurer qu'ils seront uniques grâce à l'application et au mappage de ces URL vers le même point de terminaison. Comment puis-je récupérer le nom d'utilisateur dans ma dernière page?
Merci d'avance
Vous pouvez utiliser la même réponse que la question à laquelle vous avez fait référence (j'ai répondu). Voici comment vous changeriez pour passer les arguments:
<?php
add_action('init', 'add_my_rule');
function add_my_rule()
{
global $wp;
$wp->add_query_var('args');
add_rewrite_rule('test\/finaldestination\/(.*)','index.php?pagename=about&args=$matches[1]','top');
}
?>
En supposant que "destination finale" reste toujours le même et que le nom de page (slug) est "à propos de" (vous pouvez modifier les deux). Appliquez votre modèle personnalisé à cette page et sur le modèle, procédez comme suit:
//if you visit http://.../test/finaldestination/name/romeo, then $params will be name/romeo. You can explode this and get the value.
$params = get_query_var('args');
Après avoir placé ce code dans votre fichier, allez simplement à Settings>Permalinks
et cliquez sur le bouton de sauvegarde. Je n'ai pas essayé cela, mais j'ai utilisé quelque chose de similaire dans un projet récent et je suis sûr que cela fonctionnera.
Assurez-vous simplement d'ajouter une URL canonique dans l'en-tête des pages dupliquées, en faisant référence à l'instance principale de la page ... sinon vous obtiendrez un contenu dupliqué, ce qui est mauvais pour le référencement (ce qui importe uniquement si ces pages sont publiques. et indexé).
J'irais également vers author.php ou le lien permanent% author% du thème s'il s'agit d'utilisateurs WordPress ordinaires. Vous pouvez accéder aux données à propos de comme ça:
$author = get_user_by('slug', $author_name);
$author_id = (int)$author->ID;
$name = $author->first_name.' '.$author->last_name;