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 클래스보여줍니다 텍스트 위스콘신입니다 대신 시각화의 일 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);
}
}
}