У меня есть этот код, чтобы рассчитать все доли социальных сайтов в моих сообщениях. Проблема с кодом - постоянная ссылка статична.хранить PERMALINK в переменной PHP
Если вы заметили, я хранится постоянную ссылку в $myurl
переменной с помощью get_permalink();
, проблема с кодом является один раз изменить ссылку «http://www.bendaggers.com/how-to-write-a-killer-resume-that-lands-an-interview/», это дает мне тонны ошибок, таких как:
file_get_contents(http://graph.facebook.com/?id= $myurl): failed to open stream: HTTP request failed!
Вот мой код:
$myurl = get_permalink();
$url = urlencode($url);
$facebook_like_share_count = function ($url) {
$api = file_get_contents('http://graph.facebook.com/?id=' . $url);
$count = json_decode($api);
return $count->shares;
};
$twitter_tweet_count = function ($url) {
$api = file_get_contents('https://cdn.api.twitter.com/1/urls/count.json?url=' . $url);
$count = json_decode($api);
return $count->count;
};
$pinterest_pins = function ($url) {
$api = file_get_contents('http://api.pinterest.com/v1/urls/count.json?callback%20&url=' . $url);
$body = preg_replace('/^receiveCount\((.*)\)$/', '\\1', $api);
$count = json_decode($body);
return $count->count;
};
echo twitter_tweet_count('http://www.bendaggers.com/how-to-write-a-killer-resume-that-lands-an-interview/');
echo "<br>";
echo facebook_like_share_count('http://www.bendaggers.com/how-to-write-a-killer-resume-that-lands-an-interview/');
echo "<br>";
echo pinterest_pins('http://www.bendaggers.com/how-to-write-a-killer-resume-that-lands-an-interview/');
echo "<br>";
?>
Для добавления, функция get_permalink
возвращает текущий URL активной страницы. Я делаю это, чтобы интегрировать его на мой сайт Wordpress и показать точное количество акций (facebook, twitter, linkedin и pinterest). Приведенный выше код не возвращает URL-адрес текущей страницы. Это статично.
Если вы посмотрите на них, вам нужно будет вызывать 'urlencode()' на входе '$ url'. Поэтому '$ url = urlencode ($ url);' - поскольку он используется как параметр строки запроса в вызовах API, отправленных в 'file_get_contents()'. Однако это может быть не единственное, что вызывает проблемы. –
Заметка о стиле - то, что у вас здесь, работает в большинстве версий PHP, но, похоже, сильно зависит от стиля определения функции JavaScript. Это очень чудно для PHP. Определения функций были бы более условными как «function pinterest_pins ($ url) {...}', а затем вызывались без '' 'как просто' pinterest_pins '(' http: // ... '); 'вместо назначения функции для переменных и вызов через переменные функции. –
Странная вещь об этом коде, если я использовал echo twitter_tweet_count («google.com») ;, echo facebook_like_share_count («google.com»), он отлично работает. Ошибки будут отображаться, если я изменил статическую ссылку на $ myurl –