Artikel & Guides

5
(3)

WordPress Plugin: Nachricht an Discord senden

letzte Änderung: 9. Januar 2023


Affiliate - Links

Auf meiner Seite verwende ich sogenannte Affiliate-Links, diese sind mit einem gekennzeichnet, damit du diese auch direkt erkennen kannst.

Sobald du über so einen Link das Produkt kaufen würdest, erhalte ich möglicherweise eine Provision vom jeweiligen Anbieter.
Außerdem entstehen für Dich natürlich keine zusätzlichen Kosten!
Mich unterstützt du damit aber enorm und trägst dazu bei, dass es auch in Zukunft weitere Guides und Vorstellungen von mir hier geben wird.

Ich empfehle nur Tools / PlugIns / Anbieter / Produkte, hinter denen ich auch wirklich stehe, bzw. ich auch einen Mehrwert sehe.

DarkWolfCave.de ist Teilnehmer des Amazon-Partnerprogramm, das zur Bereitstellung eines Mediums für Webseiten konzipiert wurde, mittels dessen durch die Platzierung von Partner-Links zu Amazon.de Entgelte verdient werden können.


70d57891c69045edb513f1769b5cd07e

Hier stelle ich dir ein kleines eigenes WordPress Plugin vor, mit dem du Benachrichtigungen in deinem Discord-Kanal erhältst, sobald ein neuer Artikel auf deiner WordPress Seite veröffentlicht wird.

ACHTUNG! Bitte lesen!
Du benutzt das hier Gezeigte natürlich, wie immer, auf eigenes Risiko!
Ich habe alles selbst durchgeführt und mir mein System nicht zerschossen oder sonst irgendwelche negativen Auffälligkeiten bemerkt.
Aber dennoch… Backups sind immer gut….
Ich übernehme keine Haftung für irgendwelche Schäden am System, der Hardware oder der Katze….

Beschreibung des WordPress Plugin für Discord

Kurz und knapp: Sobald du einen neuen Artikel bei WordPress veröffentlichst, wird eine Benachrichtigung an einen von dir definierten Discord-Kanal gesendet.
So sind deine Discord-Follower immer auf dem neuesten Stand. In der Benachrichtigung ist der Link zu deiner Seite vorhanden, so dass über einen kurzen Klick der Artikel aufgerufen werden kann.

Wordpress Plugin - Nachricht an Discord

Das Script bzw. die Dateien für das WordPress Plugin

index.php

<?php
//Silence is golden.

post_discord.php

<?php
/*
 * Plugin Name: neue Beiträge an Discord senden
 * Description: sendet bei neuen Artikeln automatisch eine Benachrichtigung an einen Discord-Kanal
 * Version: 0.1
 * Author: DarkWolfCave
 * Author URI: https://darkwolfcave.de
*/
// wir prüfen ob die Konstante ABSPATH vorhanden ist. 
// Ist dies nicht der Fall, wurde versucht die php-Datei direkt und nicht über WordPress aufzurufen, und der Zugriff wird verboten

if (!defined('ABSPATH')) die('No direct access allowed');
class dwc_PostDiscord{

    public function __construct() {
                add_action('transition_post_status', array( $this, 'dwc_nachricht_discord'), 10, 3 );
                add_action('admin_menu', array( $this, 'dwc_discord_admin_actions' ));
                register_deactivation_hook( __FILE__, array( $this, 'dwc_PostDiscord_deactivation' ) );
    }
    public function dwc_nachricht_discord($dwc_new, $dwc_old, $dwc_post) { 
        if(get_option('discord_settings_url') == null) {
        return;
        }

        if ( $dwc_new != 'publish' || $dwc_old == 'publish' || $dwc_post->post_type != 'post') {
        return;
        }

    $dwc_discord_url = get_option('discord_settings_url');
    $id = $dwc_post->ID;

    $author = $dwc_post->post_author;
    $authorName = get_the_author_meta('display_name', $author);
    $postTitle = $dwc_post->post_title;
    $permalink = get_permalink($id);
    $message = "@everyone - Auf DarkWolfCave.de gibt es einen neuen Beitrag:  \"" . $postTitle . "\" Zum lesen einfach klicken: " . $permalink;

    $postData = array('content' => $message);
    $curl = curl_init($dwc_discord_url);
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");  
    curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($postData));
    curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);

    $response = curl_exec($curl);
    $errors = curl_error($curl);        
    } 
    public function dwc_discord_admin_actions() {
        $page_title = 'Nachricht an Discord';
        $menu_title = 'Nachricht an Discord';
        $capability = 'manage_options';
        $menu_slug  = 'nachricht-an-discord';
        $function   = array( $this,'nachricht_an_discord_page');
        $position   = 4;    
        add_options_page( $page_title,$menu_title,$capability,$menu_slug,$function,$position ); 
        add_action( 'admin_init', array( $this, 'update_discord_settings' ));
    }
    public function update_discord_settings() 
    {
    register_setting( 'nachricht-an-discord-settings', 'discord_settings_url' ); 
    }

    public function nachricht_an_discord_page()
    { 
        ?> 
        <h1>Nachricht an Discord senden</h1> 
        <form method="post" action="options.php">
        <?php settings_fields( 'nachricht-an-discord-settings' ); ?>
        <?php do_settings_sections( 'nachricht-an-discord-settings' ); ?>
        <?php $size_url = strlen(get_option( 'discord_settings_url' ))+20; ?>    
        <table class="form-table"><tr valign="top"><th scope="row">URL zu deinem Discord-Channel:</th>
            <td><input type="text" size=<?php echo $size_url; ?>" name="discord_settings_url" value="<?php echo get_option( 'discord_settings_url' ); ?>"/></td></tr>            </table>
        <?php submit_button(); ?>
        </form>
        <?php 
    }
    public function dwc_PostDiscord_deactivation(){
        if ( strlen(get_option( 'discord_settings_url')) != 0) {
                delete_option( 'discord_settings_url' );
        }
            else {
                return;
            }
        }
}

Wohin mit den Dateien?!

/wp-content/plugins/post-discord

Genauere Beschreibung / Erklärung

Normalerweise würde ich hier jetzt mehr zu dem WordPress Plugin für Discord schreiben. Da ich dieses aber auch als Vorlage für ein eigenes WordPress Plugin erstellen genommen habe, bin ich mal ganz frech und verweise auf diesen Artikel.

Feedback kannst du gerne hier abgeben 🙂
Fragen natürlich auch !


Du würdest auch gerne Feedback geben?
Mir mitteilen dass ich dir helfen konnte?
Einfach nur „Danke“ sagen?
Oder mir etwas mitteilen was nicht so toll war?
Du hast ein Problem oder nur eine Frage?
Na dann los!

Möchtest du diese Seite und mich sogar unterstützen?!

Du kannst mich z.B. auf Patreon besuchen und kleinere Pakete schnüren. Es gibt dann auch ein paar Vorzüge 🙂

Gefällt dir der Beitrag?
Hinterlasse gerne ein paar Sterne!

Wie hilfreich war dieser Beitrag für Dich?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 5 / 5. Anzahl Bewertungen: 3

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Es tut uns leid, dass der Beitrag für dich nicht hilfreich war!

Lasse uns diesen Beitrag verbessern!

Wie können wir diesen Beitrag verbessern?

Abonnieren
Benachrichtige mich bei
guest
0 Kommentare
Inline Feedbacks
Alle Kommentare anzeigen