it-swarm.com.de

Hinzufügen einer Funktion zu Simple Twitter Verbinden Sie sich mit nicht twitternden Seiten

Wie füge ich die Funktion in Simple Twitter Connect (in der Datei stc-publish.php) hinzu, um Seiten nicht zu twittern, die entweder neu veröffentlicht oder bearbeitet wurden? Es muss keine Administratoroption sein, sondern nur eine Änderung für einige meiner Websites.

Es sieht so aus, als wäre diese Funktion ein guter Ort, um die Funktion "Seiten nicht twittern" hinzuzufügen (während das Häkchen beibehalten wird, um zu verhindern, dass bearbeitete Beiträge getwittert werden), während nach bearbeiteten Beiträgen gesucht wird. Wie kann man zwischen Beiträgen und Seiten unterscheiden?

// this new function prevents edits to existing posts from auto-posting
add_action('transition_post_status','stc_publish_auto_check',10,3);
function stc_publish_auto_check($new, $old, $post) {
    if ($new == 'publish' && $old != 'publish') {
        $post_types = get_post_types( array('public' => true), 'objects' );
        foreach ( $post_types as $post_type ) {
            if ( $post->post_type == $post_type->name ) {
                stc_publish_automatic($post->ID, $post);
                break;
            }
        }
    }
}

Edit 4/03/11

Antworte und bearbeite weiter unten.

1
markratledge

Noch bessere Antwort, bei der das Plugin nicht geändert wird:

remove_action('transition_post_status','stc_publish_auto_check',10,3);
add_action('transition_post_status','my_custom_publish_rules',10,3);
function my_custom_publish_rules($new, $old, $post) {
  if ($post->post_type == 'page') return;
  else stc_publish_auto_check($new, $old, $post);
}

Setze es in die functions.php eines Themas.

Randnotiz: Immer wenn Sie es mit einer Funktion zu tun haben, die von einer Aktion oder einem Filter-Hook aufgerufen wird, können Sie den Aufruf einfach in eine andere Funktion einbinden und stattdessen dieser Funktion Ihren eigenen Code hinzufügen. remove_action und remove_filter sollten zwei Tools sein, die Sie häufig in Ihrem WP Arsenal verwenden.

1
Otto

Allgemeiner Haftungsausschluss: Dies ist eine Plugin-Bearbeitung. Alle Änderungen an Plugins gehen verloren, wenn das Plugin aktualisiert wird. Dies wird daher nur empfohlen, wenn Sie gute Notizen machen und/oder daran denken, dass Sie dies getan haben, als das Plugin aktualisiert wurde !! ;) (@songdogtech, ich weiß, dass du dir solcher Dinge bewusst bist, aber ich dachte, es wäre unverantwortlich, dies ohne das zu posten)

http://www.rvoodoo.com/projects/wordpress/wordpress-tip-blocking-a-custom-post-type-from-auto-publish-with-simple-facebook-connect -sfc-plugin/

so blockiere ich einen CPT im SFC-Plugin, das STC-Plugin funktioniert genauso

suchen Sie nach der stc_publish_automatic-Funktion, von der ich glaube, dass sie es ist, und fügen Sie ihr eine Post-Type-Seite hinzu ...

Ich werde den Code sehr schnell finden, wollte ihn aber darauf hinweisen ... Sie befinden sich in der richtigen Datei und befinden sich in der Nähe des richtigen Codes

BEARBEITEN:

function stc_publish_automatic($id, $post) {

    // check to make sure post is published
    if ($post->post_status !== 'publish') return;

Ich denke, dieses Bit zu bearbeiten:

    function stc_publish_automatic($id, $post) {

        // check to make sure post is published
        if ($post->post_status !== 'publish') return;
     if ($post->post_type == 'page') return;

würde es tun .... (ungetestet, aber wenn es darum geht, einen CPT im SFC-Plugin zu blockieren)

Wenn Sie sich den von mir verlinkten Beitrag ansehen, hat @Otto im Kommentar eine Empfehlung abgegeben, mit der Sie möglicherweise besser arbeiten können. Ich bearbeite das Plugin nur als schnell und schmutzig, aber es sieht so aus, als ob Sie es auch von Ihrem Thema aus bearbeiten können .....

Wenn irgendjemand die Informationen hier und die Informationen aus @ Ottos Kommentar auf meiner Website lesen und herausfinden kann, würde ich diesen Code gerne sehen!

1
Rev. Voodoo