danielnn Posted May 28, 2013 Share Posted May 28, 2013 I am writing out likes, tweets and so on in Word Press.I am struggling to make my code work. Below is the url that my PHP is writing out likes from. (If NBA.com has 20 K likes it will write "20k") <? $obj=new shareCount("http://www.nba.com"); ?> My problem is that the url has to different for each post. <?php the_permalink(); ?> Vil write out the URLMy problem is my formatting. <? $obj=new shareCount("<?php the_permalink(); ?>"); ?> of course doesn't work <? $obj=new shareCount(<?php the_permalink(); ?>); ?> of course doesn't workHow du I call a function inside a function within the quotations marks? Quote Link to comment https://forums.phpfreaks.com/topic/278464-call-function-inside-quotations-marks/ Share on other sites More sharing options...
moylin Posted May 28, 2013 Share Posted May 28, 2013 (edited) Sorry, half asleep on this. Try <?php $obj=new shareCount( get_permalink() ); ?> or <?php $yourtempvar = get_permalink(); $obj=new shareCount($yourtempvar); ?> edit: switched to get instead of the_permalink, as the_permalink is designed to output the permalink address to the browser. Edited May 28, 2013 by moylin Quote Link to comment https://forums.phpfreaks.com/topic/278464-call-function-inside-quotations-marks/#findComment-1432685 Share on other sites More sharing options...
danielnn Posted May 28, 2013 Author Share Posted May 28, 2013 It is just writing out the url on the page:http://creeeative.com/ Quote Link to comment https://forums.phpfreaks.com/topic/278464-call-function-inside-quotations-marks/#findComment-1432687 Share on other sites More sharing options...
Irate Posted May 28, 2013 Share Posted May 28, 2013 <?php $obj = new ShareCount( the_permalink() ); ?> should work if you have the function working in the same scope and have the function return an URL via return. Quote Link to comment https://forums.phpfreaks.com/topic/278464-call-function-inside-quotations-marks/#findComment-1432688 Share on other sites More sharing options...
danielnn Posted May 28, 2013 Author Share Posted May 28, 2013 (edited) "<?php $obj = new ShareCount( the_permalink() ); ?> should work if you have the function working in the same scope and have the function return an URL via return." Still just wrting out the URL http://creeeative.com Edited May 28, 2013 by danielnn Quote Link to comment https://forums.phpfreaks.com/topic/278464-call-function-inside-quotations-marks/#findComment-1432698 Share on other sites More sharing options...
Irate Posted May 28, 2013 Share Posted May 28, 2013 Could you show us the code to the ShareCount object? Quote Link to comment https://forums.phpfreaks.com/topic/278464-call-function-inside-quotations-marks/#findComment-1432700 Share on other sites More sharing options...
danielnn Posted May 28, 2013 Author Share Posted May 28, 2013 (edited) <? class shareCount { private $url,$timeout; function __construct($url,$timeout=10) { $this->url=rawurlencode($url); $this->timeout=$timeout; } function get_tweets() { $json_string = $this->file_get_contents_curl('http://urls.api.twitter.com/1/urls/count.json?url=' . $this->url); $json = json_decode($json_string, true); return isset($json['count'])?intval($json['count']):0; } function get_fb() { $json_string = $this->file_get_contents_curl('http://api.facebook.com/restserver.php?method=links.getStats&format=json&urls='.$this->url); $json = json_decode($json_string, true); return isset($json[0]['total_count'])?intval($json[0]['total_count']):0; } function get_pinterest() { $return_data = $this->file_get_contents_curl('http://api.pinterest.com/v1/urls/count.json?url='.$this->url); $json_string = preg_replace('/^receiveCount\((.*)\)$/', "\\1", $return_data); $json = json_decode($json_string, true); return isset($json['count'])?intval($json['count']):0; } private function file_get_contents_curl($url){ $ch=curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($ch, CURLOPT_FAILONERROR, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_TIMEOUT, $this->timeout); $cont = curl_exec($ch); if(curl_error($ch)) { die(curl_error($ch)); } return $cont; } } ?> <div class="socialbuttons"> <?php $obj = new ShareCount( the_permalink() ); ?> <a href=https://www.facebook.com/sharer/sharer.php?u="<?php the_permalink(); ?>" target=_blank><span class=black> <? echo "".$obj->get_fb();?> </span><span class=light>Likes</span></a> <a href=https://www.facebook.com/sharer/sharer.php?u="<?php the_permalink(); ?>" target=_blank><span class=black> <? echo "".$obj->get_tweets(); ?> </span><span class=light>Tweets</span></a> <a href=https://www.facebook.com/sharer/sharer.php?u="<?php the_permalink(); ?>" target=_blank><span class=black> <? echo "".$obj->get_pinterest(); ?> </span><span class=light>Pins</span></a> </div> Edited May 28, 2013 by danielnn Quote Link to comment https://forums.phpfreaks.com/topic/278464-call-function-inside-quotations-marks/#findComment-1432701 Share on other sites More sharing options...
Solution moylin Posted May 28, 2013 Solution Share Posted May 28, 2013 Did you try the updated code I put in with the get_permalink() instead of the_permalink. the_permalink is not designed for what you're trying to do, you have to use get_permalink instead. When i first pasted teh example, i didn't know the difference but udpated it shortly after. Quote Link to comment https://forums.phpfreaks.com/topic/278464-call-function-inside-quotations-marks/#findComment-1432702 Share on other sites More sharing options...
danielnn Posted May 28, 2013 Author Share Posted May 28, 2013 That's it. Thanks everyone Quote Link to comment https://forums.phpfreaks.com/topic/278464-call-function-inside-quotations-marks/#findComment-1432703 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.