I want to create a bootstrap modal for social sharing buttons in my wordpress blog. For the modal to be visible, I have to place it outside the post (loop) but its trigger (button) inside the post. I want to pass the URL and Title of the post to the Sharing Buttons inside the modal.
I have created two variables inside the post to get its URL and title:
<?php
// Get current post URL
$URL = get_permalink();
// Get current post title
$Title = str_replace( ' ', '%20', get_the_title()); ?>
Then, I created the trigger inside the post to display the modal
<button class="btn btn-link btn-lg" id="socialbtn" data-toggle="modal" data-target="#myModal">Share</button>
And in the modal body, I have many buttons, like
<a class="ssk ssk-text ssk-facebook" href="https://www.facebook.com/sharer.php?u=***URL of the post***">Facebook</a>
<a class="ssk ssk-text ssk-twitter" href="https://twitter.com/share?url=$URL&text=$Title$" >Twitter</a>
What I want to do is to replace the $URL in href of Facebook and Twitter with the URL of the post and likewise the title.
I know that I have to use JavaScript, but I’m unable to figure out the correct syntax.
Will be thankful for help. 🙂
6
Answers
I did it like this: In the trigger button, I set the data attributes as follows:
then got the facebook and twitter URLs in separate variables and then set the href attributes as follows:
And in the modal body, used the anchor tags as follows:
You have to output them using PHP:
$(“.ssk-facebook”).attr(“href”, “YourNewURL”);
$(“.ssk-twitter”).attr(“href”, “YourNewURL”);
Use data attribute to add link with every post’s share button:-
HTML
JS
You have to identify which button the user have clicked on.
You can archive that by using unique IDs OR by adding hidden inputs or divs containing the correct hrefs for each post.
Then select those “href-container” relatively to the button and change the modal. (“closest(), parent(), nextAll() etc.)
Do you need code examples?