Способ получить кнопку Twitter, с подсчетом, с пользовательским bit.ly URL, работает? - PullRequest
2 голосов
/ 10 августа 2011

Я застрял. Я опубликовал это на WordPress.StackExchange , и они предложили попробовать WebApps.StackExchange , и они предложили мне попробовать здесь. Так что, извините за несколько сообщений, если вы будете следовать всем этим!

У меня есть блог клиента, использующий bit.ly pro для создания пользовательских коротких URL-адресов (например, foo.co). Я хочу показать обычную горизонтальную версию кнопки «Твиттер» с количеством твитов, и чтобы ссылка, ведущая на публикацию, использовала их собственный URL-адрес bit.ly.

Я установил Плагин Joost de Valk Bit.ly Shortlinks , который успешно преобразует обычные короткие WP-ссылки (wp_get_shortlink()) в пользовательский URL-адрес Bit.ly pro в другом месте сайта, но Twitter, похоже, превосходит это и рендерит все с доменом t.co по умолчанию.

Я рассмотрел предложения этого вопроса , но использование # в качестве URL-адреса данных не работает, и предлагаемые страницы поддержки Twitter, похоже, не содержат никакой информации о том, как заставить Bit.ly работать (хотя они говорят, что собираются).

Вот функция, которую я создал, чтобы вставить кнопку в мою тему - есть идеи, где я ошибаюсь? используется для вставки кнопки как внутри цикла, так и на страницах с одним постом.

function tweet_this() {
    global $post;
    ob_start();
    $tweet = wp_get_shortlink();
    echo '<script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script><a href="http://twitter.com/share" class="twitter-share-button" data-url="' .  $tweet . '" data-counturl="' . $tweet . '" data-count="horizontal" data-via="clietname" data-text="' . get_the_title() . '">Tweet</a>';
    return ob_get_clean();  
}

В случае, если это поможет, эта функция работает , за исключением того, что она не отображает количество твитов:

function tweet_this() {
    global $post;
    ob_start();
    $tweet = sprintf( __('%1$s %2$s'), $post->post_title, wp_get_shortlink() );
    echo '<a class="tweethis" href="http://twitter.com/intent/tweet?text=' . urlencode( $tweet ) . ' via @clientname">Tweet this</a>';
    return ob_get_clean();  
}

Дайте мне знать, если вам нужно больше информации - и заранее спасибо за любую помощь, вы можете бросить мне дорогу! Мишель

1 Ответ

1 голос
/ 07 сентября 2011
function tweet_this() {
    global $post;
    $tweet = get_permalink(); //replace with your code
    $tweetmarkup =  '<script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script><a href="http://twitter.com/share" class="twitter-share-button" data-url="' .  $tweet . '" data-counturl="' . $tweet . '" data-count="horizontal" data-via="clietname" data-text="' . get_the_title() . '">Tweet</a>';
    echo $tweetmarkup;  
}

Это работает для меня, но у меня не установлены ссылки WPShortlink, поэтому я заменил его на постоянную ссылку. Вы должны быть в состоянии заменить постоянную ссылку вашей wp_get_shortlink, и она должна работать.

...