我刚刚在 themeforest 上购买了Genie WP主题,我遇到了分享按钮的问题,尤其是 Twitter 。
如果我点击它,它将打开一个Twitter帖子推文窗口,其中只有一个链接。我想在该链接前面添加(至少)帖子标题,而不是使用任何其他插件来完成这项工作。
我找到了管理社交按钮的代码部分,尝试了几种组合和修改,但没有任何效果,所以我要求你们帮忙。 Tnx提前。
<?php
if ( ! function_exists( 'bt_get_share_link' ) ) {
function bt_get_share_link( $service, $url ) {
if ( $service == 'facebook' ) {
return 'https://www.facebook.com/sharer/sharer.php?u=' . $url;
} else if ( $service == 'twitter' ) {
return 'https://twitter.com/home?status=' . $url;
} else if ( $service == 'google_plus' ) {
return 'https://plus.google.com/share?url=' . $url;
} else if ( $service == 'linkedin' ) {
return 'https://www.linkedin.com/shareArticle?url=' . $url;
} else if ( $service == 'vk' ) {
return 'http://vkontakte.ru/share.php?url=' . $url;
} else {
return '#';
}
}
}
答案 0 :(得分:2)
在功能中添加default argument value,如果您不想要它,则不必在任何地方更改方法。
if ( ! function_exists( 'bt_get_share_link' ) ) {
function bt_get_share_link( $service, $url, $title = "") {
if ( $service == 'facebook' ) {
return 'https://www.facebook.com/sharer/sharer.php?u=' . $url;
} else if ( $service == 'twitter' ) {
return $title
? 'https://twitter.com/home?status='. rawurlencode($title) .'%3A%20'. $url
: 'https://twitter.com/home?status='. $url;
} else if ( $service == 'google_plus' ) {
return 'https://plus.google.com/share?url=' . $url;
} else if ( $service == 'linkedin' ) {
return 'https://www.linkedin.com/shareArticle?url=' . $url;
} else if ( $service == 'vk' ) {
return 'http://vkontakte.ru/share.php?url=' . $url;
} else {
return '#';
}
}
}
现在,您可以致电bt_get_share_link('twitter', 'http://google.dk');
或bt_get_share_link('twitter', 'http://google.dk', 'Hello World!');
。最后一个方法返回一个如下所示的网址:https://twitter.com/home?status=Hello%20World%21%3A%20http://google.dk
您可以将post title变量添加为第三个参数,而不是Hello World。
答案 1 :(得分:1)