Add hashtags support to WordTwitSiden jeg startet denne bloggen som jeg har brukt WordTwit av BraveNewCode (de løp ut av områder tilsynelatende). Det er en enkel å bruke plugin for Wordpress som vil oppdatere din Twitter status når du publiserer en ny blogg artikkel.

Du kan tilpasse ditt budskap og bruk [Tittel] å erstatte den med artikkelen faktiske tittel og [forbindelse] med en (forkortet) URL til artikkelen. Så du kunne gjøre noe sånt “Ny bloggpost ‘[Tittel]‘ posted at [forbindelse]“ – Vel, kanskje du vil beholde den så kort som mulig om, men det er å gi deg en idé.

Så gitt at du kan tilpasse meldingen, Du kan også legge til ett eller to hashtags. Men alt dette er gjort manuelt, For eksempel “Blogg [Tittel] – [forbindelse] # Blogg” er hva jeg brukte selv.

Men # Blogg hashtag er egentlig ikke noe mange mennesker vil søke etter. Så hvorfor ikke bruke de kodene som jeg allerede har lagt til min artikkel med Wordpress? Som denne artikkelen for eksempel, kan jeg ikke bruke sin tilpasning tag som # tilpasning hashtag i min Twitter oppdatering? Vel, with some modifications to WordTwit, det er mulig. Here's how.

The modification involves editing the file wordtwit.php, which can be found in your /wp-content/plugin/wordtwit/ katalog. The first part is very minor and simply involves moving a line of code a little further up. You need to look for $post_tags = get_the_tags();” near line 484 (in version 2.2.4 of WordTwit):

...(snip)...
        $can_tweet = true;

        // check tags
        if ( count( $wt_tags ) ) {

            // we have a tag or a category
            $new_taxonomy = array();

            $post_tags = get_the_tags();
            if ( $post_tags ) {
                foreach ( $post_tags as $some_tag ) {
                    $new_taxonomy[] = strtolower( $some_tag->name );
                }
            }
...(snip)...

Move the  $post_tags = get_the_tags();” line up and place it under the $can_tweet = true;” linje. This is done to avoid calling the same function twice. Admittedly, it’s a minor speed hurdle, but if you get into this habit of doing this throughout code, it’ll eventually speed things up. So now the above code will look like this:

...(snip)...
        $can_tweet = true;
        $post_tags = get_the_tags(); // <-- The line was moved here

        // check tags
        if ( count( $wt_tags ) ) {

            // we have a tag or a category
            $new_taxonomy = array();               

            if ( $post_tags ) {
                foreach ( $post_tags as $some_tag ) {
                    $new_taxonomy[] = strtolower( $some_tag->name );
                }
            }
...(snip)...

Up for the next bit.  At around line 515 of the same file (wordtwit.php) you need to inject the code that will handle the WordPress tags to Twitter hashtag conversion. The actual line number will depend on the version of WordTwit you’re using (I dette eksemplet, Versjon 2.2.4) so I have included a snippet of the existing code as a reference where to add it. The actual code will be commented accordingly:

...(snip)...
            $message = $settings['message'];
            $message = str_replace( '[title]', $post->post_title, $message );

            global $post;
            $message = str_replace( '[link]', wordtwit_make_tinyurl( get_permalink(), true, $post->ID ), $message );

// !!! Wordpress tag to Twitter hashtag conversion STARTS HERE >>>

            if ( $post_tags && strpos($message, '[tags]') !== false ) {
                $tags_to_add = '';

                // What's the message length without this tag?
                $message_len = strlen($message) - 6;

                foreach ( $post_tags as $some_tag ) {
                    $tag_len = strlen($some_tag->name) + 2;

                    // Can we add this tag within the 140 char constraint? (accounts for hashtag and spacer)
                    if ( $tag_len + $message_len <= 140 ) {
                        $tags_to_add .= '#'.$some_tag->name.' ';
                        $message_len += $tag_len;
                    } else {
                        // Nope, we're done
                        break;
                    }
                }

                $tags_to_add = rtrim($tags_to_add);
                $message = str_replace('[tags]', $tags_to_add, $message);
            }

// <<< Wordpress tag to Twitter hashtag conversion ENDS HERE !!!   

            $twit_username = $settings['username'];
            $twit_password = $settings['password'];

            twit_update_status( $twit_username, $twit_password, $message );
...(snip)...

Save the file and you’re done with the modification!

Now you can customize your WordTwit message with three replaceable  tags: [Tittel], [forbindelse] and the new one [TAGS]. When you specify [TAGS] in your custom message, WordTwit will use the tags you’re using from WordPress and convert them to a Twitter hashtag. It will try to fit in as many as possible, up to a limit of 140 characters. If you have 10 WordPress tags but there’s only room for 3, then only the first 3 hashtags will appear in your Twitter status update. And obviously all 10 will appear if there’s room for them.

Related Posts:

  1. Raskere WP Super Cache med Nginx
  2. WP Greet Box autohide funksjonen
  3. WP Flickr Bakgrunn versjon 1.0.2 (Beta) tilgjengelig
  4. Lifestream for December 15th
  5. Fancy WordPress Translations