2016-09-05 4 views
0


Весь текст сохраняется правильно. Но после сохранения редактор отображает html-теги.

Взгляните на фотографии сначала, пожалуйста.

Экран для сохранения данных таможенного сообщения. Редактор WP правильно отображает полужирный текст.
befor saving screenWordpress пользовательский плагин. wp_editor() показывает html-теги после сохранения

экран после сохранения пользовательских почтовых данных. В редакторе wp отображается текст с тегами html вместо рендеринга.
after saving screen

Здравствуйте здесь плагин корень PHP

$post_type = 'company'; 

function company_admin() { 
    new InitCompanyAdmin(); 
} 
function company_admin_save($company_id, $company) { 
    new SaveCompany($company_id, $company); 
} 

// show company. Was called from InitCompanyAdmin class 
function display_company_meta_box($company) { 
    $companyMetaBox = new CompanyMetaBox(); 
    $companyMetaBox->show($company); 
} 


// save company 
add_action('save_post', 'company_admin_save', 10, 2); 
add_action('admin_init', 'company_admin'); 

InitCompanyAdmin класс

class InitCompanyAdmin { 
    public function __construct(){ 
     add_meta_box('edit_company_meta_box', 
      'Company Details', 
      'display_company_meta_box', // function inside plugin root php 
      Company::$postType, 'normal', 'high' 
     ); 
    } 
} 

CompanyMetaBox Classпоказывает текст Wi го HTML-теги вместо визуализации

class CompanyMetaBox { 
    public function show($company){ 
     $company_benefits = esc_html(get_post_meta($company->ID, 'benefits', true)); 

     echo '<h1>Benefits</h1>'; 
     wp_editor($company_benefits, 'benefits_editor', $settings = array() ); // shows text with html tags instead of visualization 
    } 
} 

после заставки

class SaveCompany { 
    private $companyId; 

    public function __construct($company_id, $company){ 
     $isCompanyPostType = $company->post_type == Company::$postType; 

     if ($isCompanyPostType) { 
      $this->companyId = $company_id; 

      $this->saveBenefits(); 
     } 
    } 

    private function saveBenefits(){ 
     $benefits = $_POST['benefits_editor']; 
     if (isset($benefits) && $benefits != '') { 
      update_post_meta($this->companyId, 'benefits', $benefits); 
     } 
    } 
} 

ответ

0

моя вина. КомпанияMetaBox класс необходимо удалить esc_html

Смежные вопросы