1

I have this twitter share button that pulls 100 characters from the content of the post and its URL for the twitter share.

<a class="popup"
    href="http://twitter.com/share?url=<?php
        echo urlencode(get_permalink($post->ID));
    ?>&amp;text=<?php the_content_limit(100, "");?>">
    <img src="http://zitatezumnachdenken.com/wp-content/uploads/2013/04/twittersmall.png" alt="twitter">
</a>

It's working but I always get the following validation error Error

Can someone help me?

2 Answers 2

1

You are sending text unencoded. urlencode that just like you do the permalink.

<a class="popup" href="http://twitter.com/share?url=<?php echo urlencode(get_permalink($post->ID)); ?>&amp;text=<?php echo urlencode(the_content_limit(100, ""));?>"><img src="http://zitatezumnachdenken.com/wp-content/uploads/2013/04/twittersmall.png" alt="twitter"></a>

Although, the_content_limit looks like it probably echos (based on your usage) instead of returning a string, which you will need. So I expect you will have to find that function and alter it or duplicate it or find some other alternative to get a string that you can encode.

4
  • 1
    thanks, I'd upvote you if I had enough reputation. I used <?php $content = get_the_content(); $content = strip_tags($content); echo urlencode(substr($content, 0, 100)); ?>..."> now
    – ndru
    Commented Apr 19, 2013 at 16:01
  • 1
    @onz FYI: Why use a variable that you don't need at all? You can shorten this a bit like the following: echo urlencode(substr(strip_tags(get_the_content()), 0, 100));.
    – tfrommen
    Commented Apr 19, 2013 at 16:15
  • @tf thanks, that will work even better. I don't really have a clue about PHP and I'm just googling and copying code together until it works ;)
    – ndru
    Commented Apr 19, 2013 at 16:47
  • @tf is there a way to add "..." if the string is longer than 100 characters?
    – ndru
    Commented Apr 19, 2013 at 17:51
0

Regarding your comment:

<?php
    $text = strip_tags(get_the_content());
    if (strlen($text) > 100)
        $text = substr($text, 0, 100).'...';
?>
<a class="popup"
    href="http://twitter.com/share?url=<?php
        echo urlencode(get_permalink());
    ?>&amp;text=<?php echo urlencode($text); ?>">
    <img src="http://zitatezumnachdenken.com/wp-content/uploads/2013/04/twittersmall.png"
        alt="twitter" />
</a>
1
  • 1
    working fine :)
    – ndru
    Commented Apr 20, 2013 at 11:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.