快捷代码不能在正确的div中输出

时间:2017-04-06 作者:cpcdev

我正在尝试使用Visual Composer在原始HTML块中显示短代码:

<form action="/form" method="get">
    <div class="form-group">
        <label class="select">
            <select name="level">
                <option>Choose a Level</option>
                [levels]
            </select>
        </label>
    </div>
    <input type="submit" value="Search" />
</form>
[级别]是短代码。

下面是我为函数添加的内容。php:

add_filter(\'widget_text\', \'do_shortcode\', 10);
add_filter(\'the_content\', \'do_shortcode\', 10);
最后,短代码本身:

function level_options() {
    $level_types= new WP_Query( \'post_type=level_type&posts_per_page=-1&orderby=title&order=ASC\' );
    $options_text = "";
    while ( $level_types->have_posts() )
    {
        $level_types->the_post();
        $options_text .= \'<option value=\'.the_ID().\'>\'.the_title().\'</option>\';
    }
    return $options_text;
}
add_shortcode( \'levels\', \'level_options\' );
短代码在页面上输出,但它显示在页面顶部的表单元素之外。此外,每个选项中的选项菜单填充为空白选项,如下所示:

<option></option>
如何在select-like-designed中生成shortcode输出?

1 个回复
最合适的回答,由SO网友:Prasun Jajodia 整理而成

the_ID 输出(回显)ID。

使用get_the_id ()

与相同the_title..

使用get_the_title

相关推荐

Do not parse shortcode in CPT

我有一个CPT,我不想在它的内容中解析shortcode(使用\\u content()函数)。我可以使用remove\\u filter删除短代码的默认过滤器。但我如何确定我只是为了我想要的CPT而删除过滤器?我有一个在页面中使用的快捷码[我的自定义快捷码]。此短代码使用WP\\U查询和输出CPT帖子。我不想在这篇CPT文章中分析短代码。我是否应该在短代码解析挂钩之前用虚拟内容更改短代码,并在之后替换回来?或者我应该在我的CPT输出之前删除短代码的默认过滤器,然后在我的CPT输出完成后再次添加短代码的默