当我列出页面内容时,‘&’会在我的快捷代码中导致错误

时间:2014-03-28 作者:user1452062

我想用我的短代码列出指定的页面,但问题在于“$”字符。

function get_page_func( $atts )
    {
        extract(shortcode_atts( array(
                \'title\' => \'\'
        ), $atts ) );
        $page = get_page_by_title($title);

        $the_query = new WP_Query( \'page_id=\'.$page->ID );

        if ( $the_query->have_posts() ) {
            while ( $the_query->have_posts() ) {
                $the_query->the_post();
                $html = \'<div class="row page-waypoint" id="\'.$page->post_name.\'"><div class="col-md-12"><h2>\'.get_the_title().\'</h2></div>\'.get_the_content().\'</div>\';

            }
        }

        return do_shortcode($html);

        wp_reset_postdata();
    }

    add_shortcode( \'get_page\', \'get_page_func\' );
如果我使用[get_page title="Questions&Answers"], 快捷码没有列出问题的内容(&N);回答页面,但列出每个博客帖子。我是否使用wp_reset_postdata(); 功能正常?

问题出在哪里?

2 个回复
最合适的回答,由SO网友:Milo 整理而成

您的符号和正在被编码,请尝试:

get_page_by_title( html_entity_decode( $title ) );

SO网友:bbruman

我必须使用get_page_by_title( htmlspecialchars( $title ) ); 要转换&&amp;.

get_page_by_title( html_entity_decode( $title ) ); 不适合我

结束

相关推荐

Manipulated shortcode output

我开发的一个注册短代码的插件有问题。短代码返回一个包含有效HTML的字符串,但一些主题似乎操纵了短代码返回的HTML,我真的不明白原因是什么。例如,这是我的短代码的正确输出:<div class=\"tile\"> <a> <img src=\"0.jpg\" /> <div class=\"caption\"> <p>Kate</p> </div&