YoYo Mel
YoYo Mel

Reputation: 161

Passing variables? wordpress

Hello all I'm very thankful for this community here, wouldn't know what to do without you all.

First of all, I'm not even sure if the title to this post is accurate; please read on. In a nutshell what I'm trying to do in Wordpress is create a 'reply' button that will be displayed on the individual post's page. When someone clicks on this 'reply' button it will take them to a different WP page that is using a private messaging plugin. On this page I would like the 'to:' field to automatically know who to reply to (author of the post).

Now here's my question. Is this accomplished by "passing a variable" from first page to the second or is there another way to do this?

I'm not asking for specific code help so please don't tell me to go talk with the plugin developer. I'm just trying to get a general idea of how something like can be accomplished so that I can do some research myself.

At the very least, If someone get give me a starting point for me to do some google research that would be all I need. Being fairly new I don't even know what phrase I should be googling for.

Upvotes: 0

Views: 1792

Answers (2)

Hüseyin BABAL
Hüseyin BABAL

Reputation: 15550

Yes, you can do that by implementing simple wp plugin. First of all you need to know that, there are lots of wp specific functions. You can use the_content for putting your reply link after post content, and get_author_meta in order to get post's author email for putting it in your custom link. I know, you don't want to talk about code, but I can give you sample example; In order to apply this functionality on all post, you can simply implement a plugin.

Edit: For redirecting to Private Messaging plugin's send page with prepopulated recipient field, I have updated get_the_author_meta('email') with get_the_author_meta('user_login'). Now, you can go to mail send page, by clicking Reply link

add_filter('the_content', 'add_custom_link'); function add_custom_link($content) { // You can think that $content => individual post
if(is_single()) { $content .= '

Reply to this post

'; } return $content; }

Save this code in a php file and zip it.Then, upload it to your wp site as plugin. And you will see your custom link at the end of your posts. Do not forget to update variables in plugin according to your needs(for example reply url domain)

Here is a working plugin demo: http://huseyinbabal.eu01.aws.af.cm/?p=1

Upvotes: 1

mattbeck
mattbeck

Reputation: 135

Create a form that posts to the secondary page.

  • Use a hidden form field to pass the post ID
  • Make sure you prefix the form fields so your $_POST variable doesn't conflict with any other core/plugin variables
  • On the secondary page: make sure you sanitize that user input before you do anything else with it
  • use the sanitized post id to look up the post's author, without having to expose the author's email in the url.

Your Form should look something like so:

<form action="url-of-page-2" method="POST">
    <input type="hidden" name="myprefix_id" value="<?php echo get_the_ID();?>">
    <input type="submit" value="reply">
</form>

Upvotes: 0

Related Questions