Créer un bouton de lien de copie dans la liste avec une valeur unique - PHP et JavaScript
P粉211273535
P粉211273535 2023-09-16 00:15:27
0
1
638

J'écris mon propre plugin WordPress, c'est pourquoi une partie du code peut paraître un peu bizarre. Mais mon problème vient du vieux PHP.

J'ai créé une liste de joueurs et chaque joueur a une URL unique. Je veux avoir un bouton "Copier le lien" sur chaque ligne/joueur. Mais je n'arrive pas à faire fonctionner cela.

Je ne souhaite pas mettre à jour le site lors d'une copie, donc je suppose que je dois utiliser quelque chose comme Ajax. Mais je n'ai aucune expérience.

J'ai essayé de le créer en utilisant JavaScript mais lorsque je transmets le lien (chaîne), il continue d'imprimer une erreur. Il affiche : "Jeton inattendu ':'. Attendu ')' pour terminer la liste d'arguments

."

J'ai configuré mon fichier PHP comme ceci :

<?php
// Fetching the players //

foreach($players as $player) {
    $player_email = get_post_meta($player->ID, 'email')[0];
    $player_status = get_post_meta($player->ID, 'status')[0];
    $player_link = get_permalink($player->ID);
    
    if ($player_status == 'Not completed') { array_push($not_completed_players, 'true'); }
    $return_html .= '
    <li class="players-div">
      <div class="players-text-div"> 
        <p class="players-list-p players-name"> ' . $player->post_title . ' </p>
        <p class="players-list-p players-email"> ' . $player_email . ' </p>
      </div>

      <a class="players-list-p" href="' . $player_link . '"> /' . basename($player_link) . ' </a>
      <p class="players-list-p players-email"> ' . $player_status . ' </p>

      <button type="button" onClick="copyToClipboard(' . $player_link . ')" name="copied_link" value="' . $player_link . '"> Copy link </button>
    </li>';
 }

?>

<script>
  function copyToClipboard(playerLink) {
    navigator.clipboard.writeText( playerLink );
  }
</script>

P粉211273535
P粉211273535

répondre à tous(1)
P粉439804514

Vous devez joindre copyToClipboard 函数的参数括起来。此解决方案通过添加反斜杠 () 来转义 ' entre guillemets doubles ou simples :

copyToClipboard(\'' . $player_link . '\')

Le lien de votre lecteur peut contenir https: et deux points, ce qui provoquera un message d'erreur.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal