我有以下网站:https://www.ajagrawal.com
目前在我的网站上,我正在尝试编辑英雄部分,并使用插件制作的自定义wordpress表单替换名称,电子邮件和按钮字段。现在电子邮件存储在Wordpress中,但我希望它们在Mailchimp中。
我知道我的主题中哪些代码与以下内容相关:
if(function_exists('newsletter_form')):
$output .= '<div class="row">';
$output .= '<div class="col-sm-6 col-sm-offset-6 col-md-4 col-md-offset-6">';
$output .= '<form method="post" action="'.home_url('/').'?na=s" onsubmit="return newsletter_check(this)">';
$output .= '<div class="c-input-3-wrapper">';
$output .= '<input class="c-input type-3" type="text" name="nn" required="" placeholder="'.esc_html($name_placehodler).'">';
$output .= '<div class="c-input-3-icon"><span class="lnr lnr-user"></span></div>';
$output .= '</div>';
$output .= '<div class="c-input-3-wrapper">';
$output .= '<input class="c-input type-3" type="email" name="ne" required="" placeholder="'.esc_html($email_placeholder).'">';
$output .= '<div class="c-input-3-icon"><span class="lnr lnr-envelope"></span></div>';
$output .= '</div>';
$output .= '<input class="newsletter-submit c-btn type-1 size-4 full" type="submit" value="'.esc_html($btn_text).'">';
$output .= '</form>';
$output .= '</div>';
$output .= '</div>';
endif;
这是我的mailchimp短代码,代表了表单。
[mc4wp_form id="2198"]
我尝试过编辑代码并以多种方式插入代码,甚至最终导致网站崩溃,但仍然没有运气。考虑到我的目标,这是正确的方法(将短代码放在PHP代码中)吗?
如果是这样,怎么办呢?
答案 0 :(得分:1)
您可以使用do_shortcode
功能。
documentation中的示例:
// Use shortcode in a PHP file (outside the post editor).
echo do_shortcode( '' );
// In case there is opening and closing shortcode.
echo do_shortcode( '[iscorrect]' . $text_to_be_wrapped_in_shortcode . '[/iscorrect]' );
// Enable the use of shortcodes in text widgets.
add_filter( 'widget_text', 'do_shortcode' );
// Use shortcodes in form like Landing Page Template.
echo do_shortcode( '[contact-form-7 id="91" title="quote"]' );
// Store the short code in a variable.
$var = do_shortcode( '' );
echo $var;
所以在你的情况下如下:
echo do_shortcode( '[mc4wp_form id="2198"]' );
应该这样做。
编辑: 这样的事情应该有效:
$output .= '<div class="row">';
$output .= '<div class="col-sm-6 col-sm-offset-6 col-md-4 col-md-offset-6">';
$output .= do_shortcode( '[mc4wp_form id="2198"]' );
$output .= '</div>';
$output .= '</div>';
然后用输出做你想做的事 - 可能必须回应它......