Are PayPal

May 16, 2009

Version 1.6.0 appeared to be messed up.

Version 1.6.0 appeared to be messed up.

Version 1.5.9 was renamed to 1.6.1 in order to exclude latest changes.

Sorry for this mess. I’ll let you know about the progress on multipriced posts soon.

  • Share/Bookmark

76 Comments »

  1. I was wondering if your plugin can be used on template pages. For instance, I would like for the user to be required to pay before being allowed to view wp-signup.php

    If this is possible, can you explain how.

    Thank You =D

    Comment by Chris — May 17, 2009 @ 12:32 am

  2. You can change your template to surround all the content wit are_paypal_pleaselogin tags. And add a blog price. Maybe this is a solution, but I am not sure.

    Comment by Aurimas — May 17, 2009 @ 8:41 am

  3. Thanks for your response Aurimas. The code is my biggest problem. I don’t know what code to use. I can’t figure out how to convert the short code (pseudo code) into php format.

    Comment by Chris — May 17, 2009 @ 6:15 pm

  4. In this case the only solution to wait while I will implement this. I don’t know when I’ll have time – I am now very busy. And the next change in line is multipriced posts.

    Comment by Aurimas — May 18, 2009 @ 10:53 am

  5. Hi again. Thanks for taking the time to respond to my questions and good luck with the next change. =D

    Comment by Chris — May 18, 2009 @ 2:20 pm

  6. Hello,

    I have a question. I’d like to publish some paid contents. But I want to sell subscriptions : the guy who buy it will have a full access to all the paid contents for 3 months. Can your tool do that ? And if yes, is it compatible with the payment for only one paid post ?

    Thx !

    Comment by Julien — May 18, 2009 @ 3:59 pm

  7. Yes. You can have a subscribe button. and you can configure the plugin in many different ways. there are post/page price which applies per post or page. Blog price which applies for all teh hidden content and there is a kinda bonus system which allows a complex configuration – user pays for one post/page but gets access to several posts/pages :)

    Comment by Aurimas — May 18, 2009 @ 4:06 pm

  8. Ok thanks.

    But how technically do I have to manage the guys who pays for 3 months ? Do I have to manually close their access at the end of the period ? I didn’t get this point.

    Also, is there a way to manage some subscriptions manually ? Like if I want to be paid by check notes (it’s for BtoB purpose, they’re used to pay this way).

    Comment by Julien — May 18, 2009 @ 4:18 pm

  9. At the end of the period they will be automatically charged by paypal. In case they will stop the subscription the content will go hidden.

    Comment by Aurimas — May 18, 2009 @ 6:00 pm

  10. Very helpful information helped a lot thanks.

    Comment by Dilip — May 19, 2009 @ 5:08 pm

  11. Hello Aurimas,

    I am the webmaster and developer of Test Your Knowledge and I would like to ask about a problem I’m having,

    You see when someone clicks Buy Now it says link appears to be invalid so I checked the template and fixed it but it won’t save the fixed pieces, what can I do.

    Comment by Elijah — May 20, 2009 @ 1:01 am

  12. Something is wrong there with these templates HTML code is in between tags. It can be something goes wrong and templates and form hets ruined.

    Comment by Aurimas — May 26, 2009 @ 8:33 pm

  13. Hello Aurimas,
    Thank you for helping but I was using your plug-in on my blog at http://blog.testyourknowledgewebsite.com sorry about that.

    Comment by Elijah — June 10, 2009 @ 9:16 pm

  14. Does this system support people who are not registered to paypal or no?

    Comment by Matt — June 14, 2009 @ 11:41 pm

  15. It supports paypal payments only. User must have paypal in order to pay for content.

    Comment by Aurimas — June 15, 2009 @ 10:24 am

  16. the plugin 1.6.1 shows in the main page:
    WordPress database error: [You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'expire) > CURDATE() OR expire is null OR expire = 0)' at line 1]
    SELECT users.* FROM . wp_are_paypal_users users WHERE (users.post_id=’-1′) AND users.user_id=’0′ AND (ADDDATE(purchase_date, expire) > CURDATE() OR expire is null OR expire = 0)

    WordPress database error: [You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'expire) > CURDATE() OR expire is null OR expire = 0)' at line 1]
    SELECT users.* FROM . wp_are_paypal_users users WHERE (users.post_id=’1′) AND users.user_id=’0′ AND (ADDDATE(purchase_date, expire) > CURDATE() OR expire is null OR expire = 0)

    Into Are_paypal / paypal data on admin it shows the following:

    WordPress database error: [Table 'axelweb_wordpress.wp_are_paypal_paypal_requests' doesn't exist]
    select * from wp_are_paypal_paypal_requests

    Comment by Stefano — June 16, 2009 @ 3:03 am

  17. try to remove the plugin, plugins tables, and options and reinstall the plugin…

    Comment by Aurimas — June 16, 2009 @ 8:29 am

  18. I tried several times, but it doesn’t work. I don’t think it’s a table problem, seems more of a syntax one. I run MySQL version 4.0.25-standard; PHP version 4.4.2; WP 2.7.

    WordPress database error: [You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'expire) > CURDATE() OR expire is null OR expire = 0)' at line 1]
    SELECT users.* FROM . wp_are_paypal_users users WHERE (users.post_id=’-1′) AND users.user_id=’1′ AND (ADDDATE(purchase_date, expire) > CURDATE() OR expire is null OR expire = 0)

    WordPress database error: [You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'expire) > CURDATE() OR expire is null OR expire = 0)' at line 1]
    SELECT users.* FROM . wp_are_paypal_users users WHERE (users.post_id=’1′) AND users.user_id=’1′ AND (ADDDATE(purchase_date, expire) > CURDATE() OR expire is null OR expire = 0)

    Comment by Stefano — June 30, 2009 @ 5:58 am

  19. Could you try to run those sqls by hand and check for syntax problems in there … I see “FROM . wp_” that “.” looks suspicious to me I have no idea how it appeared there…

    Comment by Aurimas — June 30, 2009 @ 9:22 am

  20. ok. I tried to reinstall the plugin manually instead of using admin. The plugin created 3 tables:

    wp_are_paypal_bonus
    wp_are_paypal_items
    wp_are_paypal_paypal_field_types

    On “paypal data” it shows:
    WordPress database error: [Table 'axelweb_wp.wp_are_paypal_paypal_requests' doesn't exist]
    select * from wp_are_paypal_paypal_requests

    On “post prices”, under “purchasers”, on my only test post it shows:
    WordPress database error: [You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'up.expire) > CURDATE() OR up.expire is null OR up.expire = 0)' ]
    SELECT user_login FROM wp_users u INNER JOIN wp_are_paypal_users up ON up.user_id=u.id and up.post_id=1 AND (ADDDATE(up.purchase_date, up.expire) > CURDATE() OR up.expire is null OR up.expire = 0)

    On my test post, after the title, as part of the body but bfore body text it shows:

    WordPress database error: [You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'expire) > CURDATE() OR expire is null OR expire = 0)' at line 1]
    SELECT users.* FROM . wp_are_paypal_users users WHERE (users.post_id=’-1′) AND users.user_id=’1′ AND (ADDDATE(purchase_date, expire) > CURDATE() OR expire is null OR expire = 0)

    WordPress database error: [You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'expire) > CURDATE() OR expire is null OR expire = 0)' at line 1]
    SELECT users.* FROM . wp_are_paypal_users users WHERE (users.post_id=’1′) AND users.user_id=’1′ AND (ADDDATE(purchase_date, expire) > CURDATE() OR expire is null OR expire = 0)

    I tried to manually run both:
    “SELECT users.* FROM . wp_are_paypal_users users WHERE (users.post_id=’-1′) AND users.user_id=’1′ AND (ADDDATE(purchase_date, expire) > CURDATE() OR expire is null OR expire = 0)”

    and

    “SELECT users.* FROM wp_are_paypal_users users WHERE (users.post_id=’-1′) AND users.user_id=’1′ AND (ADDDATE(purchase_date, expire) > CURDATE() OR expire is null OR expire = 0)”

    and they both return the very same message:
    “#1064 – You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ‘expire) > CURDATE() OR expire is null OR expire = 0)’ at line 1 ”

    Since there is not wp_are_paypal_users and wp_are_paypal_paypal_requests I guess these error message might be explained by an imperfect table creation. I tried to install it several times and it doesn’t create these tables. Maybe the problem went unnoticed because if upgraded, the script keep running on previously created tables… or I don’t know.

    Comment by Stefano — June 30, 2009 @ 10:24 am

  21. try to clean you wp. delete the tables created and also entries starting are_paypal from options table

    Comment by Aurimas — June 30, 2009 @ 10:31 am

  22. I did (including all are_paypal option this time). Same identical result.

    Comment by Stefano — June 30, 2009 @ 11:03 am

  23. where do I put my paypal email address so I get paid?

    Comment by STEVEVICORY — July 11, 2009 @ 7:40 pm

  24. would be easier to use if there were a field on the admin page to enter paypal e-mail address for those of us who are not too technical & don’t know how to edit code.

    Comment by STEVEVICORY — July 11, 2009 @ 7:41 pm

  25. Check page named “Are_PayPal Configuration” field “PayPal email”

    Comment by Aurimas — July 11, 2009 @ 8:14 pm

  26. Fortunately you do not need to edit code to put your paypal email. Any way it is fun to write code … Code is poetry …

    Comment by Aurimas — July 11, 2009 @ 8:16 pm

  27. Aurimas,

    I am thinking about starting a new wordpress site and was wondering how your plugin effects the feeds. If someone has the feed address, can they see the content even if they have not paid? If not, will people who have paid be able to access the feeds using their feed/news readers? I would love for my subscribers to be able to access my feeds.

    Just curious how that worked.. Thanks

    Wayne

    Comment by Wayne — July 21, 2009 @ 9:25 pm

  28. That is not tested properly. Coulde you do this for all the are-paypal users …

    I am 90% sure the plugin should do the trick …

    Comment by Aurimas — July 21, 2009 @ 9:44 pm

  29. Dear Sirs,

    I’m eager to use your plug in.

    Though I cannot afford the risk if it is not validated for 2.8.2.

    Please tell me asap when it is safe to install.

    Thanks

    Stef

    Comment by stephane — August 4, 2009 @ 4:35 pm

  30. You can use it but first try the routine with paypal sandbox.

    Comment by Aurimas — August 4, 2009 @ 4:39 pm

  31. Thanks,

    I now realize that it is extremely difficult to understand how it works without a notice. Could you provide one?

    Comment by stephane — August 4, 2009 @ 9:42 pm

  32. oops, sorry, there IS one.

    I’m reading it right now.

    Comment by stephane — August 4, 2009 @ 9:55 pm

  33. Dear Aurimas,

    I don’t get anywhere I’m just lost and I really don’t understand how it works.

    The way I see it, I’m ready to pay whatever it -reasonably- cost, but I cannot bleed time over a plugin, whatever useful and tempting it could be.

    If you can provide me with a solution or a service I’m willing to pay for it, but if I have to go through guess and test work for hours I’ll just look for something else.

    Stef

    Comment by stephane — August 5, 2009 @ 11:53 am

  34. Trying to input the email for paypal as well as a login discription and subscribe discription… when I press update, nothing happens. I’ve uninstalled, cleared the database (even wp_options) still can not get this to work. Looks like something in the code is broken.

    Comment by David — August 14, 2009 @ 9:57 pm

  35. Try to use some other browser … It can be text areas which contains the html code somehow works wrong way…

    Comment by Aurimas — August 14, 2009 @ 10:24 pm

  36. Thank you, did the trick. Wonder why it isn’t working right with IE8…

    Comment by David — August 14, 2009 @ 10:47 pm

  37. Hello,

    When clicking on any menu items in the admin menu, all I see is the follwing text:
    Are you sure you want to do this?

    Is this a problem with WP 2.8?

    Thanks.

    Comment by prime — August 16, 2009 @ 5:49 pm

  38. what browser do you use

    Comment by Aurimas — August 16, 2009 @ 6:48 pm

  39. Thanks for the quick reply.
    I usually use Firefox 3.5.2 and I just realized that the admin pages do display in Internet Explorer 8. However, even in IE 8 the “paypal data” doesn’t work (it’s blank). Same for Chrome.

    Thanks.

    Comment by prime — August 16, 2009 @ 7:29 pm

  40. I found that the admin pages for are paypal don’t display right in IE 8 and need to be viewed through Firefox. I’m using 3.5.3. Try updating your FireFox. =]

    Comment by David — August 17, 2009 @ 12:46 am

  41. Hello and thank you for creating this free plugin. I am trying to determine if it will fulfill my needs and I have a question.

    I need to have a paypal button on a page that has content which “is” visible to everyone. Then, when the user clicks and makes payment, they are given access to pages and articles that are hidden from others.

    Check: http://www.angermanagement-techniques.com/anger-reduction
    to see an example of what I mean.

    But that paid content has to be completely hidden, links and all. In other words, I can’t have people going to those pages and seeing a link that tells them they have to pay to see the content. Those whole pages just need to be invisible.

    Is this possible with your plugin?

    Comment by Craig — September 5, 2009 @ 3:23 am

  42. After activating Are PayPal Version 1.6.1 on WordPress 2.9-rare, I get this error message at the beginning of all my posts:

    WordPress database error: [Duplicate entry '_transient_rewrite_rules' for key 1]
    INSERT INTO `fig_options` (`option_name`,`option_value`,`autoload`) VALUES (‘_transient_rewrite_rules’,”,’yes’)

    When Are paypal is deactivated, the error message does not show anymore.

    Comment by Horacio — September 12, 2009 @ 10:40 am

  43. Unfortunately this is not possible yet. I will impolement this and the other functionalities in some time.

    Comment by Aurimas — September 13, 2009 @ 9:19 am

  44. I will investigate this. Try to deactivate all other plugins but are-paypal.

    Comment by Aurimas — September 13, 2009 @ 9:20 am

  45. Thanks, Aurimas

    PayPal Version 1.6.1 on WordPress 2.9-rare with no other plugins works well.

    _____________________________________
    After activating Are PayPal Version 1.6.1 on WordPress 2.9-rare with other plugins, I get this error message at the beginning of all my posts:

    WordPress database error: [Duplicate entry '_transient_rewrite_rules' for key 1]
    INSERT INTO `fig_options` (`option_name`,`option_value`,`autoload`) VALUES (’_transient_rewrite_rules’,”,’yes’)

    When Are paypal is deactivated, the error message does not show anymore.

    Comment by Horacio — September 14, 2009 @ 5:29 am

  46. Are PayPal Version 1.6.1 on WordPress 2.9-rare conflict with Post Country Plug-in

    http://wordpress.org/extend/plugins/post-country/
    giving error explained above

    Comment by Horacio — September 15, 2009 @ 4:58 am

  47. Hi, I’ve set up the sand box and am testing out the plugin. I gave the entire blog a price, as opposed to an individual post. I went through the process with the sandbox and it all worked, except that I can’t see the protected content – it still asks to subscribe. I should be able to see all posts now, right?

    Comment by Nicole — September 18, 2009 @ 5:45 am

  48. I hope you forgot this … Check how to use section … This is just copy paste from my test blog …
    How to configure paypal’s Instant Payment Notification (IPN)?

    * Follow the link
    * Set IPN “On”
    * Set IPN Url to ‘http://testapp.ehibou.com/wp-content/plugins/are-paypal/are-paypal-ipn.php’

    Comment by Aurimas — September 18, 2009 @ 9:26 am

  49. Its all set up how you describe, but when I return to the site the content is still not available. It should work in the test environment, right?

    Comment by Nicole — September 18, 2009 @ 11:04 pm

  50. yes. check if you can see any activity under PayPal data. All the pings from paypal ipn service must be logged there

    Comment by Aurimas — September 18, 2009 @ 11:15 pm

  51. The only items logged there are my test data from the sandbox, not from going through the site. The IPN doesn’t seem to be in contact with the plugin.

    Comment by Nicole — September 19, 2009 @ 12:50 am

  52. Its working now after I enabled sending messages – you might want to add that to your instructions. I’ll make a donation as soon as I do some more testing. Thanks!

    Comment by Nicole — September 19, 2009 @ 1:00 am

  53. The conflict between Are PayPal Version 1.6.1 on WordPress 2.9-rare with Post Country Plug-in was solved by commenting out this function on the latter:

    // Refresh re-write rules to cater for pretty permalinks.
    function country_flush_rewrite_rules()
    {
    // global $wp_rewrite;
    // $wp_rewrite->flush_rules();
    }

    Now I am testing Are Paypal: looks promising

    (The Are_Paypal configuration page does NOT update on IE 8, but does on FF)

    Comment by Horacio — September 21, 2009 @ 6:22 am

  54. Hi, I set my site up to have a blog price, with an expiration of 1 day. Paypal continues to charge everyday for the subscription, but the user doesn’t have access to the content after the first day. Any idea what I did wrong?

    Comment by Nicole — September 22, 2009 @ 7:20 pm

  55. Where is the download for this plugin for testing?

    Thanks.

    Comment by EJ — October 9, 2009 @ 5:07 am

  56. http://wordpress.org/extend/plugins/are-paypal/

    Comment by Aurimas — October 9, 2009 @ 11:16 am

  57. Thanks. Can I use the pseudo tags on pages vs. posts?

    Comment by EJ — October 9, 2009 @ 3:34 pm

  58. Yes you can use pseudo tags on both pages and posts…

    Comment by Aurimas — October 9, 2009 @ 3:36 pm

  59. Thanks again. One final question – if I put the psuedo tags on the parent page, do I have to also place it on the sub pages or will it restrict access to subpages for paid subscribers?

    Comment by EJ — October 9, 2009 @ 5:21 pm

  60. content is identified by post or page id. pseudo tags reside in different posts or pages user will have to pay for both. If you have several hidden places in some post or page user will have to pay only once to be able to read all the hidden places in one post or page.

    In order to grant user acces to pages or posts after he purchases some particular post – use bonus posts functionality.

    Comment by Aurimas — October 9, 2009 @ 5:30 pm

  61. Hi!

    I’m trying to install your plugin, but…

    “Plugin could not be activated because it triggered a fatal error.

    Parse error: parse error, unexpected $end in C:\wamp\www\wordpress\wp-content\plugins\are-paypal\are-paypal.php on line 1005″

    What’s happend?

    Comment by cvasi — October 11, 2009 @ 12:41 am

  62. Try to disable all other plugins and try again.

    Provide exact wordpress version number and as much information as you can …

    Comment by Aurimas — October 11, 2009 @ 12:54 pm

  63. This may or may not help… for phpbb2.x, I used a paypal subscription modification, from here – http://bbs.loewen.com.sg/viewforum.php?f=32

    The nice thing about it, was the author had an IPN log within it, and also had it setup for moneybookers – tho I rarely had subscriptions via moneybookers. Perhaps the code might help you in some way, the authors abandoned the project about a year ago.

    Comment by Spitt — October 29, 2009 @ 7:46 am

  64. @Nicole – I was thinking about the error you were having, and remember a solution for my old site. Make sure that the PayPal email you use is the primary PayPal email.

    Additionally, make sure that if your site is prone to downtimes, that you find a different host. I do not know if the plugin calls PayPal’s site when checking to see if someone paid or not, or if instead PayPal simply tells the site that there was an update. If it is the latter, and the site is unavailable, then the subscription would not show. I had a plague of lost subscriptions due to downtimes when using the above mod for phpbb.

    It would be nice to see an update, where we can manually enter the transaction ID, the payment amount, and when the subscription expires.

    I will test out this plugin, and if I receive subscriptions, I will be sure to share.

    Comment by Spitt — October 29, 2009 @ 8:30 am

  65. Hi,
    during the test with PayPal Sendbox, after the purchase of the subscription, the selected hidden text still remain hidden. Is it due to test modality?
    Second question.
    Is it possible change recurryng payment metod with a normal payment? I really need it because it is less intrusive…

    Thanks,
    Salvatore

    Comment by Salvatore — October 30, 2009 @ 2:53 pm

  66. Everything should work with sandbox. Somewhere is something wrong with settings. Check if IPN is set correctly in your sandbox payment receiver account. Check if ipn answer is logged in paypal data under are-paypal settings in admin of your blog.

    If period is not set in price config it will be buy now button. Check it out.

    Comment by Aurimas — October 30, 2009 @ 3:02 pm

  67. Hi,
    my question was if it is possible to sell a subscription with an expiration period but without recurryng payment method. I think that any recurryng payment can discourage the inexperienced buyers…
    So, when the subscription time expires, the hidden text return with subscribe button. It would be more unobtrusive in my opinion.
    Please, can you help me to do this payment configuration?

    Thanks anyway for this great plugin!
    Salvatore

    Comment by Salvatore — October 30, 2009 @ 6:46 pm

  68. I think its possible to achieve but at the moment I do not have time. There must be an new option developed to control this. If that option says yes in any case instead of subscribe button buy now should be generated.

    Comment by Aurimas — October 30, 2009 @ 8:02 pm

  69. OK. Try the following. Change subscribe button template to be the same as boy now button template. And in that case buy now button will be generated all the time. Since plugin will expire the content after period will elapse. This is not proven by me and not tested this is just an idea. try it and you will see. Ihope this will help you. Sorry for inacurate information, but I’ve developed this plugin a while ago and do not remember all the small things.

    Comment by Aurimas — October 30, 2009 @ 9:03 pm

  70. I will try your suggestions. Don’t worry, your information is OK.

    Thanks again,
    Salvatore.

    Comment by Salvatore — October 31, 2009 @ 1:45 am

  71. OK, I have changed subscribe button template to be the same as buy now button template and it seems work.
    I am waiting expiration time of 1 day for a complete test…
    Now, another small problem that happens also in “subscribe” mode.
    After purchasing operation, the buyer is sent back to merchant site but his purchased product is still hidden. It is necessary to refresh the page to show the purchased text.
    Is it possible to add a line code for auto refresh?

    Thanks for your great patience!
    Salvatore.

    Comment by Salvatore — October 31, 2009 @ 4:01 am

  72. I have no idea how to do that refresh, but for sure it is possible :)

    The thing is that paypal is responsible to ping your blog ipn handler in order to mark content as purchased. If this communication is slow user has to refresh one or more times. In order to have auto refresh/check I thik ajax retrieval of hidden content is the best way to go.

    Comment by Aurimas — October 31, 2009 @ 10:46 am

  73. Hi,
    after to have changed subscribe button template to be the same as buy now button template, plugin NOT expire the content after period elapsed…
    I will do other tests.
    Do you have different suggestions?

    Comment by Salvatore — November 1, 2009 @ 1:25 pm

  74. You know, you could simply provide instructions on how to cancel the subscription, right on your site. Or make it on the return page, from PayPal.

    Here’s one of my about pages, regarding content, cancellations, and how to remove a PayPal subscription. Perhaps it will help give you some ideas. – http://rpg-exploiters.com/about/paid-post-content-subscriptions/

    It is possible for the plugin to not have recurring payments, after X amount of recurring payments, but it would have to be programmed into the plugin itself.

    Comment by Spitt — November 1, 2009 @ 1:55 pm

  75. Hi Spitt,
    I have tested that any form of recurryng payment discourages the inexperienced buyers. Yes, I could provide instructions on how to cancel the subscription from PayPal account but it can be only a problem for me and for buyers. Indeed Are PayPal plugin, with a simple BuyNow button, could work without further problematic future interaction with PayPal.
    When the selected period elapse then the plugin simply hides again the content and shows the BuyNow button.
    Aurimas gave me the right start way… I only must resolve how to hide again the content after my selected period. Maybe it is sufficient to change some code lines of Are PayPal…
    Thanks anyway for your suggestions, it can work at the moment.

    Comment by Salvatore — November 1, 2009 @ 9:06 pm

  76. Aurimas,
    I’m still trying to solve my problem… In the meantime, can you do that customized Are PayPal for me? Naturally, tell me before the price for this work. Eventually, I only need the changed code lines.
    Excuse me for my request but your plugin is unequalled. It is very simple and practical for my project, it only needs of that change.

    Thanks anyway,
    Salvatore

    Comment by Salvatore — November 3, 2009 @ 5:01 pm

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress