Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将元框内容输出为格式化文本_Php_Wordpress - Fatal编程技术网

Php 将元框内容输出为格式化文本

Php 将元框内容输出为格式化文本,php,wordpress,Php,Wordpress,我对创建元框还不熟悉,但我已经为自己的需要创建了一个好的元框。但是,我需要其中两个输入框是格式化文本(显示在我的代码中);以这样的方式保存并输出到站点。不过,我似乎无法让它发挥作用。我可以将数据保存到数据库中,这很好,但它不会将文本与诸如分隔符、粗体、h1标记、段落等内容一起保存。虽然我已经删除了许多其他元素以缩短代码供您审阅,但到目前为止,我已经做到了以下几点: class Tour_Meta { public function __construct() { if ( is_adm

我对创建元框还不熟悉,但我已经为自己的需要创建了一个好的元框。但是,我需要其中两个输入框是格式化文本(显示在我的代码中);以这样的方式保存并输出到站点。不过,我似乎无法让它发挥作用。我可以将数据保存到数据库中,这很好,但它不会将文本与诸如分隔符、粗体、h1标记、段落等内容一起保存。虽然我已经删除了许多其他元素以缩短代码供您审阅,但到目前为止,我已经做到了以下几点:

class Tour_Meta {

public function __construct() {
    if ( is_admin() ) {
        add_action( 'load-post.php',     array( $this, 'init_metabox' ) );
        add_action( 'load-post-new.php', array( $this, 'init_metabox' ) );
    }
}

public function init_metabox() {
    add_action( 'add_meta_boxes', array( $this, 'add_metabox'  )        );
    add_action( 'save_post',      array( $this, 'save_metabox' ), 10, 2 );
}

public function add_metabox() {
    add_meta_box(
        'tourMeta',
        __( 'Details for this tour', 'dappa' ),
        array( $this, 'render_trmeta' ),
        'tours',
        'advanced',
        'high'
    );
}

public function render_trmeta( $post ) {

    $trmet_itinerary = get_post_meta($post->ID, 'trmet_itinerary', true);
    $trmet_overview = get_post_meta( $post->ID, 'trmet_overview', true );

    if( empty( $trmet_itinerary ) ) $trmet_itinerary = '';
    if( empty( $trmet_overview ) ) $trmet_overview = '';

    echo '<div class="form-table" id="tourEntries">';

    echo'   <h2>Tour Overview</h2>';
    wp_editor(htmlspecialchars_decode($trmet_overview) , 'trmet_overview', array(
    "media_buttons" => true
    ));

    echo'   <h2>Tour Itinerary</h2>';
    wp_editor(htmlspecialchars_decode($trmet_itinerary) , 'trmet_itinerary', array(
    "media_buttons" => true
    ));

    echo' </div>';

}

public function save_metabox( $post_id, $post ) {

    $trmet_new_itinerary = isset( $_POST[ 'trmet_itinerary' ] ) ? sanitize_text_field( $_POST[ 'trmet_itinerary' ] ) : '';
    $trmet_new_overview = isset( $_POST[ 'trmet_overview' ] ) ? sanitize_text_field( $_POST[ 'trmet_overview' ] ) : '';
}
}
new Tour_Meta
class-Tour\u-Meta{
公共函数构造(){
if(is_admin()){
添加动作('loadpost.php',数组($this,'init_metabox'));
添加动作('loadpostnew.php',数组($this,'init_metabox');
}
}
公共函数init_metabox(){
add_操作('add_meta_box',数组($this,'add_metabox'));
添加操作('save_post',数组($this,'save_metabox'),10,2);
}
公共函数add_metabox(){
添加元框(
“图尔梅塔”,
__(“本次巡演详情”、“dappa”),
数组($this,'render_trmeta'),
"旅游",,
"先进",,
“高”
);
}
公共职能部门(职位){
$trmet\u itinerary=get\u post\u meta($post->ID,'trmet\u itinerary',true);
$trmet\u overview=get\u post\u meta($post->ID,'trmet\u overview',true);
如果(空($trmet_行程))$trmet_行程=“”;
if(空($trmet_overview))$trmet_overview='';
回声';
echo“旅游概述”;
wp_编辑器(htmlspecialchars_解码($trmet_概述),'trmet_概述',数组(
“媒体按钮”=>正确
));
echo‘旅游行程’;
wp_编辑器(htmlspecialchars_解码($trmet_行程),'trmet_行程',数组(
“媒体按钮”=>正确
));
回声';
}
公共函数save\u metabox($post\u id,$post){
$trmet_new_internative=isset($_POST['trmet_internative'])?清理文本字段($_POST['trmet_internative']):“”;
$trmet_new_overview=isset($_POST['trmet_overview'])?清理文本字段($_POST['trmet_overview']):“”;
}
}
新巡回赛
我还尝试了不同的方式将文章元数据输出到页面,但是如果在后端没有正确保存,那也没什么关系


非常感谢您的任何想法。谢谢

Pfft。好吧,所以很简单

我需要在这些字段上使用
esc\u html()
而不是
sanitize\u text\u field()


谢谢

你知道所有的HTML标签都会被删除吗?我对这些都不熟悉,但我想可能是这样的。如果我只是删除它,我的标记还会工作吗?:-)试试看-它至少会将数据保存为-is.Hmmm。我把它取下来,它就停止工作了。在哪里/如何将它们包装在
中?对不起,旁边是一个笑话(您在一个关于(不)删除html标记的问题中使用了
。很高兴您解决了这个问题!