recherche

Maison  >  Questions et réponses  >  le corps du texte

Créer un bouton de lien de copie dans la liste avec une valeur unique - PHP et JavaScript

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粉211273535P粉211273535455 Il y a quelques jours616

répondre à tous(1)je répondrai

  • P粉439804514

    P粉4398045142023-09-16 23:27:50

    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.

    répondre
    0
  • Annulerrépondre