用于短代码的Wordpress Custome Meta Box

时间:2017-10-30 17:15:06

标签: php wordpress shortcode contact-form-7 meta-boxes

我创建了一个元框来存储联系表单7的短代码。元框工作正常,问题是当我使用do_shortcode输出短代码时,我会在镜头代码中显示“404 Not Found”。示例[contact-form-7“404 NOT FOUND”]。我知道原始短代码有效,do_shortcode('[contact-form-7 id =“59”title =“Contact Form”]');工作良好。我的以下代码不起作用,请帮忙。

<?php
    if(get_post_meta( get_the_id(), 'shortcode_input', true )) {
        $contact_shortcode = get_post_meta( get_the_ID(), 'shortcode_input', TRUE );
    }
    echo do_shortcode($contact_shortcode);

?>

1 个答案:

答案 0 :(得分:0)

您的代码中看起来有拼写错误,由于get_the_id(),您的IF条件永远不会成立,它应该是get_the_ID()

  <?php
    if(get_post_meta( get_the_ID(), 'shortcode_input', true )) {
        $contact_shortcode = get_post_meta( get_the_ID(), 'shortcode_input', TRUE );
    }
    echo do_shortcode($contact_shortcode);

?>

另外我建议在IF条件下移动echo语句,这样只有在你有短代码时才能回显短代码。

     <?php
            if(get_post_meta( get_the_ID(), 'shortcode_input', true )) {
                $contact_shortcode = get_post_meta( get_the_ID(), 'shortcode_input', TRUE );
                echo do_shortcode($contact_shortcode);
            }


        ?>