Ich schreibe mein eigenes WordPress-Plugin, weshalb einige Codes möglicherweise etwas seltsam aussehen. Aber mein Problem ist einfach altes PHP.
Ich habe eine Spielerliste erstellt und jeder Spieler hat eine eindeutige URL. Ich möchte in jeder Zeile/jedem Spieler eine Schaltfläche „Link kopieren“ haben. Aber ich schaffe es scheinbar nicht, das zum Laufen zu bringen.
Ich möchte die Website beim Kopieren nicht aktualisieren, daher muss ich wohl etwas wie Ajax verwenden. Aber ich habe keine Erfahrung.
Ich habe versucht, es mit JavaScript zu erstellen, aber wenn ich den Link (String) übergebe, wird immer wieder ein Fehler ausgegeben. Es wird Folgendes ausgegeben: „Unerwartetes Token ‚:‘. Erwartetes ‚)‘ zum Ende der Argumentliste.“
Ich habe meine PHP-Datei so eingerichtet:
<?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>
您应该用双引号或单引号将
copyToClipboard
函数的参数括起来。此解决方案通过添加反斜杠 (\
) 来转义'
:您的播放器链接可能包含
https:
并且冒号会导致错误消息。