New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Contact form: cannot insert a form using do_shortcode #102

Open
jeherve opened this Issue Jan 22, 2014 · 18 comments

Comments

Projects
None yet
@jeherve
Member

jeherve commented Jan 22, 2014

Steps to reproduce:

  1. Edit one of your theme's template files and add a Contact form with the do_shortcode function:
<?php echo do_shortcode( "[contact-form][contact-field label='Name' type='name' required='1'/][contact-field label='Email' type='email' required='1'/][contact-field label='Website' type='url'/][contact-field label='Comment' type='textarea' required='1'/][/contact-form] " ); ?>
  1. Load a page using this template file: the contact form is displayed.
  2. Fill in the form, and submit it
  3. The form is not submitted properly.

Reported in this trac ticket:
https://plugins.trac.wordpress.org/ticket/1762

@jtwiest

This comment has been minimized.

Contributor

jtwiest commented Jan 25, 2014

Form only processes when it is coming from a widget or when the shortcode is in the comment.

https://github.com/Automattic/jetpack/blob/master/modules/contact-form/grunion-contact-form.php#L146-172

@blobaugh

This comment has been minimized.

Contributor

blobaugh commented Feb 3, 2014

@jeherve do you have time to test this?

@jeherve

This comment has been minimized.

Member

jeherve commented Feb 3, 2014

@jeherve do you have time to test this?

I'm afk until next week so I wouldn't mind if you could check for me.
Thanks!

@blobaugh

This comment has been minimized.

Contributor

blobaugh commented Feb 3, 2014

Whoops. You should not be checking your messages then!

@aaronbazinet

This comment has been minimized.

aaronbazinet commented Jul 17, 2014

Yep, I'm still having this issue. Contact form appears on page, but message doesn't send.

@blobaugh blobaugh modified the milestones: 3.2, 3.3 Aug 27, 2014

@georgestephanis

This comment has been minimized.

Member

georgestephanis commented Oct 9, 2014

I wonder if the best way to resolve this may be an option or custom post type or something that we store forms in by a hash of the complete shortcode. It could lead to some legacy cruft for previous versions of a shortcode, but it would ensure that we could always look up on the back-end and see what the contact form looked like.

@georgestephanis georgestephanis modified the milestones: vFuture, 3.3 Oct 9, 2014

@jpswade

This comment has been minimized.

jpswade commented Oct 10, 2014

This issue still appears in Version 3.1.1...

@georgestephanis

This comment has been minimized.

Member

georgestephanis commented Oct 10, 2014

It's not a bug, it's an enhancement. The form contents is fished back by scanning the queried post of the page it was submitted to. Without any way of knowing what the form looked like, there's no way to accept the submission. We're considering an alternate data store, but currently it's just not feasible.

@jpswade

This comment has been minimized.

jpswade commented Oct 10, 2014

I'm not sure I fully understand why it needs to know what the form looked like in order to store and send the message?

@georgestephanis

This comment has been minimized.

Member

georgestephanis commented Oct 10, 2014

Because how else would it know what fields to expect? Keep in mind that it does support adding of multiple fields, and we can't trust user input, as they could spoof new fields. Especially as the data gets stored in the database, and not merely emailed out.

@jpswade

This comment has been minimized.

jpswade commented Oct 10, 2014

I understand.

I guess the solution for the time being is to use a widget instead...

@clarklab

This comment has been minimized.

clarklab commented May 21, 2015

For me, the form actually sends just fine, it's just sending to the wrong address. Using do_shortcode somehow makes it ignore the "to" parameter.

The thing that has me really puzzled is how my address keeps getting the submissions. We've changed the page author, the admin contact, my user account email: I simply have no idea how it's getting my email.

@lstude

This comment has been minimized.

lstude commented May 22, 2015

As an update to @clarklab's previous comment -- we were able to use the following workaround to get our footer form to send to the proper address:

  1. Update user's email address to wherever you want form to send: update-user
  2. Change the author on whatever page is linked to your broken form to the updated user (in our case, it was Home - Front Page change author
  3. Form now submits to proper address
@RobertShippey

This comment has been minimized.

RobertShippey commented Jul 15, 2015

@lstude I think your workaround might help me here, but my contact form is on the single template for a custom post type, so do you think I would have to change the author of every item of my custom post type to make the form work across all instances of it?

I've found the same as @clarklab, the do_shortcode function seems to make the form ignore the to parameter. Anyone else found any other ways to fix this?

@Forket

This comment has been minimized.

Forket commented Apr 21, 2016

Also i've found that if shortcode is created in page editor - then everything is OK: feedback items created, email sent.
BUT if I use same shortcode in php file - form saves, everything is ok, except sending notification to email :-\

<?php
echo do_shortcode("[contact-form to='alex@*****.com' subject='teehljjkhfksdjhkl'][contact-field label='Name' type='name' required='1'/][contact-field label='Email' type='email' required='1'/][contact-field label='Website' type='url'/][contact-field label='Comment' type='textarea' required='1'/][/contact-form]");
?>
@jeherve

This comment has been minimized.

Member

jeherve commented Apr 22, 2016

@Forket that seems to be a different issue, and I wasn't able to reproduce.

Could you check your server's email logs to make sure the email wasn't blocked when you sent it out.

Could you also try to use a plugin like Postman to send all emails through a different email provider, and see if it helps?

Thanks!

@lamdayap

This comment has been minimized.

lamdayap commented May 27, 2016

Also reported here: #2678300-t

svn2github pushed a commit to svn2github/wordcamp-coming-soon-page that referenced this issue Feb 8, 2017

iandunn
Coming Soon: Use contact form attached to page instead of arbitrary o…
…ne created in template.

There's a Grunion bug that prevents using arbitrary do_shortcode() calls: Automattic/jetpack#102


git-svn-id: https://meta.svn.wordpress.org/sites/trunk/wordcamp.org/public_html/wp-content/plugins/wordcamp-coming-soon-page@386 74240141-8908-4e6f-9713-ba540dce6ec7
@brbrr

This comment has been minimized.

Contributor

brbrr commented Jun 28, 2018

The issue is still there. Jetpack 6.3-beta

@brbrr brbrr added the [Pri] Low label Jun 28, 2018

iandunn pushed a commit to WordPress/wordcamp.org that referenced this issue Nov 15, 2018

iandunn
Coming Soon: Use contact form attached to page instead of arbitrary o…
…ne created in template.

There's a Grunion bug that prevents using arbitrary do_shortcode() calls: Automattic/jetpack#102


git-svn-id: https://meta.svn.wordpress.org/sites/trunk/wordcamp.org@386 74240141-8908-4e6f-9713-ba540dce6ec7

svn2github pushed a commit to svn2github/wordcamp-plugins that referenced this issue Nov 16, 2018

iandunn
Coming Soon: Use contact form attached to page instead of arbitrary o…
…ne created in template.

There's a Grunion bug that prevents using arbitrary do_shortcode() calls: Automattic/jetpack#102


git-svn-id: https://meta.svn.wordpress.org/sites/trunk/wordcamp.org/public_html/wp-content/plugins@386 74240141-8908-4e6f-9713-ba540dce6ec7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment