RSS Feed

OmniAds – WordPress Ads Plugin

31.01.2009 by naden

Mit OmniAds kannst du jede Art von an jeder beliebigen Stelle in deinem Blog platzieren.

For an english description click here.

Übersicht

  • Units
    • HTML-Untis
    • PHP-Units
    • FILE-Units
  • Channel
  • Einbindung
    • in Template
    • Widgets
    • in Beiträgen
  • Download

Units

Eine Unit kann mit beliebigem Adcode befüllt werden. Dabei werden die folgenden beiden Unit-Typen unterschieden.

HTML-Units

Können Text, Html und Javascript enthalten.

PHP-Units

Können neben Text, Html und Javascript auch PHP-Code enthalten. Da der PHP-Code im Kontext von WordPress ausgeführd wird, kann man auf beliebige Daten zugreifen. Dadurch kann man sehr fein einstellen, wann und wie Werbung angezeigt werden soll. Allerdings führt eine Fehlerhafte Unit u.U. zu einem Crash. Deshalb Sorgfalt walten lassen!

Beispiel

Zeige die Unit nur auf einer Suchergebnisseite an.

1
2
3
< ?php if( strpos( $_SERVER[ 'REQUEST_URI' ], '?s=' ) !== false ): ?>
/* ad code here */
< ?php endif; ?>

Zeige die Unit nach jedem zweiten Beitrag an.

1
2
3
4
< ?php global $omniads_index; if( !isset( $omniads_index ) ) $omniads_index = 0; ?>
< ?php if( ++$omniads_index % 2 == 0 ): ?>
/* ad code here */
< ?php endif; ?>

Nutze die Post-Tags

1
2
3
4
< ?php
$omniads_tags = get_the_tags();
/* use tags here */
?>

Sämtliche Daten eines Posts wie Tags, Kategorien, Titel sind verfügbar.

FILE-Units

Diese Dateien müssen im Unterverzeichnis <omniads>/units/ liegen. Eine Datei mit der Endung .php wird auch als solche behandelt und kann bel. PHP-Code enthalten. Jede andere Dateiendung wie .html oder .txt o.ä. wird als Text interpretiert und kann Text, Html, Javascrip, Flash etc. enthalten.

Channel

Einem Channel können beliebig viele Units zugeordnet werden. Es wird immer eine Unit per Zufall ausgewählt und angezeigt.

Einbindung

in Templates

Um eine Unit oder einen Channel im Template anzuzeigen musst du an der gewünschten Stelle den folgenden Code einbinden.

Für einen Channel

1
< ?php if( function_exists( 'omniads_channel' ) ) omniads_channel( 'CHANNEL_NAME' ); ?>

Für eine Unit

1
< ?php if( function_exists( 'omniads_unit' ) ) omniads_unit( 'UNIT_ID' ); ?>

Eine Unit, die dem Channel more zugeordnet ist, wird auf der Detailseite eines Posts direkt nach dem <!–more–> – Tag eingeparst.

Widgets

Wenn dein WordPress Theme Widgets unterstützt, dann kannst du jede Unit oder jeden Channel in einem Sidebar Widget platzieren.

in Beiträgen

Du kannst einen Channel oder eine Unit an jeder Stelle in einem Beitrag oder einer Seite anzeigen lassen.

Für einen Channel
<!–omniads:CHANNEL_NAME–>

Für eine Unit
<!–omniads:UNIT_ID–>

Description in english

Overview

  • Units
    • HTML-Untis
    • PHP-Units
    • FILE-Units
  • Channel
  • Integration
    • in Template
    • Widgets
    • in Posts
  • Download

Units

A Unit can containt any adcode you like. OmniAds comes with two differend types ob units.

HTML-Units

Can contain only Text, Html and Javascript.

PHP-Units

Can contain Text, Html, Javascript and PHP-Code. The PHP-Code gets executed in the wordpress context. Therefore you can access any kind of information WordPress knows. Be careful, because poorly coded units can crash the your blog.

Example

Show the unit just on the search result page

1
2
3
< ?php if( strpos( $_SERVER[ 'REQUEST_URI' ], '?s=' ) !== false ): ?>
/* ad code here */
< ?php endif; ?>

Show the unit after every 2nd post.

1
2
3
4
< ?php global $omniads_index; if( !isset( $omniads_index ) ) $omniads_index = 0; ?>
< ?php if( ++$omniads_index % 2 == 0 ): ?>
/* ad code here */
< ?php endif; ?>

Use the post tags

1
2
3
< ?php
$omniads_tags = get_the_tags();
/* use tags here */

You can access any metadata like posts tags, categories …

FILE-Units
Those files have to be placen in < …OmniAds…>/units/ A file with the extension .php get’s executed a normal PHP-Code. Files with different extension like .html or .txt … will be interpreted a text and can contain text, html, javascrip, flash …

Channel

You can associate as many units as you like with one channel. One unit gets delivered by random.

Integration

in templates

To show a unit or a channel in the template use the following code:

channel

1
< ?php if( function_exists( 'omniads_channel' ) ) omniads_channel( 'CHANNEL_NAME' ); ?>

unit

1
< ?php if( function_exists( 'omniads_unit' ) ) omniads_unit( 'UNIT_ID' ); ?>

A unit associated with a channel named more will be parsed in after the <!--more--> - tag on the detail page of you post.

Widgets

If your theme is widget ready, you place a unit or a channel in your sidebar.

in posts

Use the following tags to place a channel or a unit in your post or page.

channel
<!--omniads:CHANNEL_NAME-->

unit
<!--omniads:UNIT_ID-->


Download OmniAds v0.54

Teile diesen Beitrag

Folge mir

TwitterGoogle+XingFacebookRSS-Feed

Ähnliche Beiträge


24 Kommentare »

  1. asaaki sagt:

    so, ich werd dann mal das plugin testen. dass ich es sicher gern als reines unit framework sehen wollen würde, hatte ich dir ja bereits per skype geschrieben. würde mich freuen, wenn du dich tatsächlich dazu durchringen kannst. ;o)

  2. naden sagt:

    Mach das! Ich denke die Sache mit den Units werde ich die Tage mal zusammenklöppeln.

  3. alex sagt:

    Hi. Have a question.
    For example i have 2 different channels.
    How is to show every channels by tags? I mean,
    Ch1 showing by Tag1 and Ch2 by Tag2. So, then i on the page and there Tag1 i see the unit from Ch1?
    Thanks

  4. naden sagt:

    @alex, you can not target a channel but a unit. A channel ist just a placeholder (a box) where you chan display your units.

    To have a unit in a certain channel just displayed if tag is “tag1″ do the following:

    < ?php
    global $post;

    if( $post && $tags = get_the_tags( $post->ID ) ):
    foreach( $tags as $tag ):
    if( $tag->name == 'tag1' ):
    ?>
    AdCode for tag1
    < ?php
    endif;
    endforeach;
    endif; ?>

    Unfortunately it’s a bit more complicated then it should be. Maybe I should write some helper functions, omniads can rely on.

  5. Michael sagt:

    Das ist genau das plugin, nachdem ich gesucht habe. Schade nur , dass es im Backend von wp zwar auftaucht, aber wenn ich die Optionen auswählen möchte, geht`s immer auf `ne 404 page…? Was mache ich falsch ?

  6. alex sagt:

    naden. thanks a lot!!! ill bee on touch with offers and opinions) have some ideas about it.

  7. naden sagt:

    @michael, gib bitte die Url an, wo dass läuft, die Plugin-Version und was dir sonst an Details einfällt!

  8. naden sagt:

    @alex, you are very welcome. Don’t hesitate to ask again.

  9. Michael sagt:

    Hi Naden,

    das Plugin läuft auf meinem testaccount , wp 2.7.1 , Gazette Theme (woothemes), Plugin 0.53. Habe alle anderen Plugins testweise mal ausgeknipst und das Standard Theme geladen, trotzdem- wenn ich auf die Options von Omniads gehe kriege ich immer eine 404.

  10. mahom sagt:

    Hey Michael,
    war bei mir auch so. Mein Fehelr lag darin, das ich den nicht den Pfad `/wp-content/plugins/omniads` sondern `/wp-content/plugins/omniads-v0.53` hatte. Nachdem umbenennen hats geklappt.
    Ich werde das jetzt nochmal veruschen zutesten.

    Jetzt habe ich nur die Frage, wie komme ich an Werbung? Woher die Links nehmen? Wie macht ihr das?

  11. mahom sagt:

    Ich würde mir gerne noch ein Erweiterung für das Widget wünschen. Und zwar würde ich die Überschrift ändern wollen. Das Wifget sieht man schon auf meiner Seite und es läuft super. Jedoch noch ohen Überschrift.

  12. naden sagt:

    @mahom, dass mit den Überschriften ist etwas knifflig, da man je nach Layout für einen Werbeblock auch gerne mal auf ein Überschrift verzichten möchte. Ich werde mal drüber nachdenken wie man das am besten machen kann.

    Zu Werbung schau doch einfach mal hier rein:

  13. mahom sagt:

    Ah super, wäre klasse. Es ist ja bei den meisten Widgets so, das man einen Titel eingeben kann oder nicht. Wenn man nichts reinschreibt dann schauts so aus wie jetzt. Wenn man was reinschreibt dann staht halt was drinnen. ^^
    Gibt es eine schnelle Umgehung, wie ich das Hard-coded reinschreiben kann?

    Das plugin ansich find ich aber echt super, wenn ich das noch nicht gesagt habe. :-D

  14. lukuhlus sagt:

    Cooles Plugin! Einfach in der Anwendung und doch flexibel genug, um damit nahezu alle erdenklichen Anforderungen abzudecken.

    Einen Feature-Request hätte ich aber noch: wenn ich direkt in ein langes Posting mehrere Werbeblöcke eines Channels einbaue, bekomme ich oft mehrmals die gleichen Units angezeigt. Natürlich kann ich als Workaround direkt die einzelnen Units angeben, aber damit geht mir ja wieder der Rotationseffekt verloren.

    Wäre toll, wenn sich das in einer zukünftigen Version noch irgendwie realisiseren liesse…

  15. naden sagt:

    @lukuhlus, als echter Loha sollte dir doch Nachhaltigkeit am Herzen liegen? Deshalb verbietet sich übermäßige Werbung doch von selbst :) Spaß bei Seite. Ich verstehe was du meinst, aber ein Channel sollte nur einmal pro Seite benutzt werden, dass ist dessen Sinn.

    Wenn du auf einer Seite mehrer Werbeblöcke in Rotation laufen lassen möchtest, dann mußt du für jeden einen Channel anlegen.

    OmniAds kümmert sich nur um die Platzierung, deshalb ist die zufällige Auswahl auch nur ein Feature. Echtes Balancing ist nicht möglich, da keine Views etc. getrackt werden.

    Ansonsten kannst du deine Werbung auch über einen Adserver ausliefern lassen und nur die Integration der AdCodes über OmniAds laufen lassen. Damit erzielst du mit Sicherheit die besten Ergebnisse.

    so long

  16. H4nSolo sagt:

    Hiho,

    habe mir mal dieses Addon runtergeladen nur funktioniert es nicht in meinem adminbereich.

    Jedes mal wenn ich auf eines der administrations seiten von Omniads gehe findet er die seite nicht. Schätze mal das irgendwo falsche Pfadangaben sind.

    Kann mir da pls wer helfen oder Support geben?
    Nutze WP2.7.1

    lg H4nSolo

  17. naden sagt:

    @H4nSolo das Plugin muss im Unterwerzeichnis /wp-content/plugins/omniads liegen!

    Ansonsten würde ich dir empfehlen, deine Blogbesucher nicht ungefragt auf www. pennergame .de umzuleiten.

  18. Vitaliy sagt:

    Hm, das Plugin könnte man wohl auch für den Linktausch gut gebrauchen.. Wie sieht es mit den Tags aus, kann man auch auf die Tags zugreifen? Leider habe ich es nicht gefunden.
    Vielen Dank!

  19. naden sagt:

    @vitaliy kann ich so gar nicht glauben. Sowohl im Beitrag, als auch in den Kommentaren wird darauf eingegangen.

  20. Uwe sagt:

    Hallo Naden,
    was man über Dein WP-PlugIn OmniAds liest hört sich sehr gut an. Läuft das PluIn auch fehlerfrei unter WP 3.0? Beste Grüße

  21. naden sagt:

    Well, that has nothing to do with omniads. Maybe you have to check your “custome 404″ plugin.

  22. Palie Mucher sagt:

    Tja, Dinge konnen manchmal wirklich simpel erscheinen. Danke ;)

  23. Luke sagt:

    Wie kann das Omniad-Plugin im Backend-Bereich eines Abonnenten unsichtbar gemacht werden?

  24. naden sagt:

    Ich habe bei der Entwicklung nicht aus die User-Roles geachtet, da dies damals für mich nicht wichtig war. Man müsste das Plugin entsprechend anpassen, dass je nach Rolle das Menü angezeigt wird, bzw. es dem User erlaubt wird entsprechende Plugin-Funktionen aufzurufen. Siehe dazu: http://codex.wordpress.org/Roles_and_Capabilities

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>