Prüfen ob Section aufgeklappt ist // AdSense optimieren

  • Guten Tag zusammen,

    ich hoffe schonmal, dass ich im richtigen Unterforum gelandet bin.


    Ich habe eine Frage: Kann man irgendwie überprüfen, ob eine Section aufgeklappt wurde und dort variabel eine AdSense Anzeige hineinstecken?

    Ich würde das gerne so machen, da ich die Werbung so gezielter an den Mann bringen könnte.
    Mein aktuelles Problem wäre, dass die Werbung immer nur unterhalb des Contents gezeigt wird und manchmal oben, allerdings habe ich stetig wachsenden Content, welcher die Werbeblöcker immer weiter auseinander dehnt, somit würden sie viel weniger gesehen werden.

    Ich benutze dazu das Google AdSense Plugin für WordPress von BestWebSoft.

    Sonst habe ich ein Multisite-Netzwerk mit Domain-Mapping.

    PS: Ich habe mich gerade noch anderweitig eingelesen und höre oft davon, dass Plugins Klicks vom AdSense klauen, daher bin ich jetzt doch dafür den Code manuell einzubinden.

    So bin ich auf der sicheren Seite.

    Einmal editiert, zuletzt von Rootbob91 (24. Juni 2014 um 12:36)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • PS: Ich habe mich gerade noch anderweitig eingelesen und höre oft davon, dass Plugins Klicks vom AdSense klauen, daher bin ich jetzt doch dafür den Code manuell einzubinden.


    Sicherlich keine Plugins, die über WP angeboten werden oder aus einer vertrauenswürdigen Quelle stammen.

  • Hmm, naja wenn ich das mit den Sections mache muss ichs wahrscheinlich sowieso manuell machen.

    Man kann ja mit dem Shortcode "[sections][section title ="Blaaa"][/section][/sections]" so ein (sozusagen) Akkordeon aufbauen.

    Der User klickt drauf und sieht nur den Inhalt des Akkordeons.

  • Was für eine Idee?
    Du schreibst es doch bereits:

    Der User klickt drauf und sieht nur den Inhalt des Akkordeons.


    Oder ausführlicher, durch ein vom User ausgelöstes Event wird nur der Inhalt eines festgelegten Bereiches eingeblendet, in dem durch die Auswertung desselben Events zusätzlich zum Text auch Werbung eingeblendet werden kann.

  • Ja danke sehr, aber ich weiß nicht welchen Code ich ändern muss um das anzuzeigen.

    Ich bin mir nicht mehr sicher ob der Shortcode der Sektionen von nem Plugin kamen, oder von WordPress standardmäßig.

    Da ich Programmierer bin fehlt mir nicht die Logik, sonder der Ort wo ich schauen muss.

    Die Datei die letztendlich sagt, welche Sektion angezeigt wird, da muss halt n Echo mit html rein, was den AdSense Code enthält.

    Kann jemand helfen diese zu finden??

  • Hallo
    Also WP selber ist sicher nicht Verantwortlich für das. Vermutlich ist es das Themen, eventuell aber auch ein Plugin.
    Du kannst aber auch ganz einfach JS im Browser debuggen während du eine Section öffnest, dann bekommst du nicht nur die verantwortliche JS Datei serviert sondern sogar die zuständigen JS Funktionen ;-)
    LG, pixselig

  • Oh, okay.

    Habe nochmal geguckt und son Shortcode Plugin bei mir deaktiviert, aber die Dinger gingen immer noch Oo?..

    Nunja, wie funktioniert das denn mit dem Debuggen?

    EDIT: Okay, wohl F12 im Browser und dann bin ich auf Debuggen gegangen, da bin ich gerade noch am suchen wie ich die Datei ausmache.

    Und wo ich das Skript einfügen müsste.

    Einmal editiert, zuletzt von Rootbob91 (29. Juni 2014 um 16:33)

  • PS: Also ich bin jetzt bei folgender Datei stehen geblieben:
    jquery.ui.accordion.min.js

    Die ist leider aber so unleserlich für einen Menschen mit standard-Kenntnissen in php geschrieben :/..

    Die Datei ist wohl doch vom Plugin von Synved

  • Die ist leider aber so unleserlich für einen Menschen mit standard-Kenntnissen in php geschrieben :/..


    Von jeder min.js gibt es auch eine leserliche Version. Was in der

    jquery.ui.accordion.min.js

    steht, sollte somit in der

    jquery.ui.accordion.js

    gut zu lesen sein.

  • Diese Datei habe ich nicht gefunden, habe mir dazu extra den Ordner runtergalden und per Windows durchsucht.

    Allerdings habe ich da eine Base.js gefunden, die scheinbar auch mitmischt, die hat folgenden Quellcode.

    Allerdings weiß ich nicht wo ich da jetzt meine AdSense Code reinpacken soll :/..

    Kann mir jemand vlt. bei dem (scheinbar) letzten Schritt helfen..

  • Hallo Rootbob91

    Steht doch alles in deiner jquery.ui.accordion.min.js drin:


    Wenn du hier dem zweiten Link folgst kommst du auf die Dokumentation der JQueryUi >> Accordion -> http://api.jqueryui.com/accordion/

    Und hier siehst du dir nun ganz genau die Eventhandler an -> http://api.jqueryui.com/accordion/#events

    Was du nun brauchst ist eine eigene JS-Datei! Diese registrierst du am besten über die functions.php deines Childthemes -> http://codex.wordpress.org/Function_Refer…_enqueue_script

    Hast du diese neue JS-datei richtig registriert schreibst du nun den Code hinein den du benötigst, zbsp:

    Wobei:
    -"jQuery( document ).ready(function( $ )" >>> das $ hier nur notwendig ist wenn dein JQUery im noConflict-Mode läuft -> https://codex.wordpress.org/Function_Refer…nflict_Wrappers
    -".selector" >>> das Element ist mit welchem der Accordion-Event ausgelöst wird (um das herauszufinden am besten im Browser debuggen oder die paar in frage kommenden Elemente ausprobieren)
    -loadMyAdSense >>> der Funktionsname der Funktion ist, welche den Adsense-Code laded.

    Durch dieses vorgehen, bleibt dein Theme und das verwendete PlugIn (http://synved.com/wordpress-shortcodes/#) voll updatefähig, da du nicht in einen bestehenden Code eingreifst.

    LG, pixselig

  • Hey, danke für die ausführliche Antwort!

    Ich verstehe soweit alles was du geschrieben hast, allerdings scheitert es noch ein bisschen an der Ausführung, ich wollte mal schauen wie ich die Datei registrieren kann, aber das bekomme ich nicht wirklich hin, da ich nicht genau weiß, welche Funktion ich jetzt benutzen muss.

    Ich habe die Functions.php Datei meines Child-Themes (was ich halt als installiertes Theme interpretiere) gefunden.

    Allerdings stehe ich jetzt aufm Schlauch und weiß nicht weiter. Hatte mir die Function-Reference zu enqueue Script angeschaut, aber damit klar komme ich nicht muss ich sagen.

    Desweiteren verstehe ich das so, dass ich dann hingehen muss, eine js Datei mit einem Editor wie notepad++ zu erstellen, diese in ein Verzeichnis zu schieben und dann im Childtheme zu registrieren, sodass ich die Funktionalität woanders abgreifen kann.

    Hier hatte ich auch noch was gefunden.

    Einmal editiert, zuletzt von Rootbob91 (3. Juli 2014 um 13:08)

  • Ich habe nun in der functions.php des benutzten Themes:
    //eigenes Script für AdSense
    wp_enqueue_script( 'custom-script', get_template_directory_uri().'/js/adsense.js', array( 'jquery' ), '1.0' );
    hinzufügt.

    Dort wo die anderen "wp_enqueue_script"-Befehle sind. (bzw. darunter..)
    Dann habe ich eine adsense.js Datei mit deinem Code von oben erstellt und in den "js"-Ordner des Themes geladen.

    Wenn ich die Datei nun mit Filezilla anschauen will, dann kommt da Fehler: "}" erwartet, obwohl ich nicht erkennen konnte das ein "{" nicht geschlossen wurde.

    Um zu testen ob die Datei korrekt geladen/eingebunden wird, hatte ich mal versucht ein "alert" einzubauen, ins script, aber wenn ich die Sections öffne passiert leider nichts, irgendwas fehlt, oder ist falsch.

    Ich habe das Gefühl, dass die Funktion die du dann LoadMyAdsense genannt hast, irgendwo im WordPress aufgerufen werden muss, kann das?

  • Die "google_ad"-Werte/Funktionen musst du noch mit deinen Daten ergänzen.
    Zusätzlich musst du auch noch die Datei

    Code
    http://pagead2.googlesyndication.com/pagead/show_ads.js


    mittels wp_enqueue_script in deine Seite einbinden, damit die Anzeige funktioniert, bzw. die notwendigen JS-Funktionen geladen werden.

    Damit man überprüfen kann, ob du die Scripte richtig eingebunden hast könntest du auch mal einen Link posten.

    LG, pixselig

  • Muss der obige Code dann zusätzlich in die adsense.js Datei?
    Oder ist das ne eigene, sorry wenn ich mich so tollpatschig anstelle, aber ich bin was Klassen und Funktionsprogrammierung betrifft eher viele andere Sachen gewöhnt als bei sowas :/..

    Das war wohl der Grund warum ich PHP doof finde, echt nicht meine Welt.

    Ich verstehe nicht ob der Code global erreichbar sein muss etc.
    Daher weiß ich nicht genau wohin damit.

    Und die andere enqueue_script Funktion dort oben muss dann auch mit in die functions.php?

  • Wobei es allgemein fraglich bleibt, ob es insgesamt eine gute Idee ist. Öffnet jemand ohne die Seite zu verlassen, x-mal Sektionen, werden auch x-mal Ads-Anzeigen geladen. Eventuell sollte da noch ein Counter eingebaut werden, dass die Ads nicht mehr als dreimal pro Seitenaufruf geladen werden oder wie auch immer. Also nicht das Du 8 Sektionen hast, die 8 Anzeigen enthalten sollen und nacheinander aufgeklappt werden können.

    Habe mich seit längerer Zeit um keine Einzelheiten gekümmert, doch steht nicht in der Vereinbarung oder in den Teilnahmebedingungen, dass es nicht erlaubt ist die Anzeigen in Code einzubauen oder so ähnlich?

    Dann wäre das ein Kündigungsgrund für Google. Jetzt verstehe ich auch warum.

    Einmal editiert, zuletzt von Melewo (3. Juli 2014 um 15:11)

  • Soweit ich mich erinnern kann, ist es verboten den Code zu verändern, aber ich verändere diesen nicht, ich möchte mich nur gezielt an die Richtlinien halten: Anzeigen gewählt schalten, sprich nur da wo nötig und nur 3 am Stück^^..

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!