it-swarm.com.de

Fügen Sie Code ein, wenn Benutzer von einem bestimmten Referer kommen

Lassen Sie mich näher darauf eingehen, denn ich halte dies für eine ziemlich seltsame Frage.

Ich möchte in der Lage sein, meinem Beitrag Code hinzuzufügen, wenn ein Benutzer von einem bestimmten Referrer kommt und zu einer bestimmten URL gelangt.

Dies geschieht nur in einer bestimmten URL wie myweb.com/addcode. Wenn der Benutzer dort ankommt, wird der folgende Prozess ausgelöst:

  1. Der Referrer wird überprüft
  2. Wenn der Referrer übereinstimmt, wird der Benutzer zu einem zufälligen Beitrag weitergeleitet und der Code wird hinzugefügt.
  3. Wenn nicht, wird der Benutzer einfach zu einem zufälligen Beitrag weitergeleitet.

Ich arbeite mich bereits um den Referrer-Check und die zufällige Post-Umleitung herum:

Zufällige Umleitung.

Beim Durchsuchen von stackoverflow fand ich dieses Thema wo sie einige großartige Lösungen für das Anzeigen von zufälligen Beiträgen geben.

Verweis.

Um den Referrer zu überprüfen, benutze ich wp_get_referer ()

$referer = wp_get_referer();
if (  strpos($referer ,'http://wanteddomain.com') !== false )

Ich muss also einen sauberen Weg finden, um Code in meine Posts einzufügen, am besten gleich am Anfang des Textes.

Ich möchte in der Lage sein, etwas und reinen HTML-Code hinzuzufügen, aber ich konnte keine Informationen zum Thema finden (ich verwende sicherlich die falsche Formulierung).

Jede Hilfe oder Anleitung, was oder wo recherchiert werden soll, wäre sehr dankbar!

Und danke, dass Sie sich die Zeit genommen haben, diesen Unsinn zu lesen!

1
Luis Fernández

Ihr Beitrag ist sinnvoll, Sie möchten nur Inhalte basierend auf Referrer ändern/hinzufügen, was auf Websites sehr häufig vorkommt.

Nun, wie Sie gerade am Anfang des Körpers gefragt haben. Ich glaube nicht, dass es einen anderen Standard-Hook gibt als get_header();. Diese Funktion befindet sich normalerweise ganz am Anfang der meisten Vorlagendateien.

Die allgemeine Struktur eines einzelnen Posts sieht ungefähr so ​​aus:

<?php get_header(); ?>

    // Some content
<?php get_sidebar(); // If your theme has a sidebar ?>

<?php get_footer(); ?>

Sie sollten also in der Lage sein, sich daran zu beteiligen und Ihre Inhalte auszugeben. Das geht in den functions.php deines Themas oder in ein Plugin:

add_action('get_header', 'my_referrer_check');
function my_referrer_check () {
    $referer = wp_get_referer();
    if (  strpos($referer ,'http://wanteddomain.com') !== false ){
        // The rest of your code here
    }
}

Dadurch wird Ihr Code automatisch dem Aktions-Hook get_header hinzugefügt.

Die andere Lösung besteht darin, Ihren Code in eine Funktion zu verpacken und diese Funktion in Ihrer Vorlage zu verwenden, wo immer Sie möchten:

function my_referrer_check () {
    $referer = wp_get_referer();
    if (  strpos($referer ,'http://wanteddomain.com') !== false ){
        // The rest of your code here
    }
}

Mit my_referrer_check(); können Sie Ihre Inhalte jetzt überall abrufen.

Einige nützliche Funktionen

Auf dem Weg zur Eroberung Ihres Abenteuers brauchen Sie möglicherweise Verbündete. Diese Funktionen könnten Ihnen zum Zeitpunkt des Bedarfs von Nutzen sein:

  • So leiten Sie einen Benutzer um: wp_redirect('URL-HERE'); oder wp_safe_redirect('URL-HERE');, gefolgt von einer die(); oder exit();
  • So überprüfen Sie, ob Sie sich in einem einzelnen Beitrag oder an einer anderen Stelle in Ihren Vorlagen befinden: is_single(), is_page(), is_home() usw.
  • So rufen Sie die Abfrageparameter ab: get_query_var('paremeter-here');
1
Jack Johansson