I had this issue and spent some time back-tracking the issues I was experiencing. For me, there was two –
The first problem I found was with the Tag Generator. It generates the shortcode as such:
[ctct ctct-1234 type:single 'List Name::#1212121212' subscribe_type_radio:single]
It needs to be reordered as such:
[ctct ctct-1234 type:single subscribe_type_radio:single 'List Name::#1212121212']
Why does this make a difference? It shouldn’t. Best I can tell is the regex in contact-form-7/includes/shortcodes.php
function shortcode_parse_atts
breaks with the enclosing quotes and ::# format.
The second problem I encountered is that this plugin requires the ctct-
name prefix.
[ctct ctct-1234 ...] // works
[ctct ctct-my_custom_field ...] // works
[ctct my_custom_field ...] // doesn't work
This check is found in contact-form-7-newsletter/cf7-constantcontact.php
, function get_submitted_lists
Another thing that bugged me is that you can only have one ctct shortcode per form. I wanted a newsletter signup that had an option to also sign up for a secondary mailer. One hidden field and one checkbox – this plugin only checks the first ctct shortcode and ignores the rest. You can add multiple checkboxes or select options, but I wanted to force one and make one optional.
So time for a minor plugin modification. In contact-form-7-newsletter/cf7-constantcontact.php
, function get_submitted_lists
make the following modification:
if( false !== strpos( $key, 'ctct-' ) ) {
//$lists = $data;
//break;
$lists = array_merge($lists, $data);
}
Perfect, now it loads up all of my lists! New and existing users.