Add hashtags support to WordTwitSince I started this blog I have been using WordTwit by BraveNewCode (they ran out of spaces apparently). It’s a simple to use plugin for WordPress that will update your Twitter status whenever you publish a new blog article.

You can customize your message and use [title] to replace it with the article’s actual title and [link] with a (shortened) URL to the article. So you could do something like New blog entry ‘[title]‘ posted at [link]“ – Добро, perhaps you’d want to keep it as short as possible though, but it’s to give you an idea.

So given that you can customize your message, you can also add one or two hashtags. But these are all done manually, На пример Blog [title] – [link] # Блог” is what I was using myself.

But the # Блог hashtag isn’t really something a lot of people will search for. So why not re-use the tags that I already have added to my article with WordPress? Like this article for example, can’t I use its Customization tag as the #customization hashtag in my Twitter update? Добро, with some modifications to WordTwit, it’s possible. Here’s how.

The modification involves editing the file wordtwit.php, which can be found in your /wp-content/plugin/wordtwit/ Директориум. 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;” линија. 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 (in this example, Version 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: [title], [link] and the new one [Етикети]. When you specify [Етикети] 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.

Поврзани Мислења:

  1. Побрзо ВП Супер Кеш со nginx
  2. ВП Поздравете Box autohide функција
  3. ВП Flickr Заднина за печатење 1.0.2 (Бета) достапно
  4. Lifestream for December 15th
  5. Сметате WordPress Преводи