رفتن به مطلب

فراخوانی ادیتور کامل وردپرس در زمینه دلخواه


پست های پیشنهاد شده

با سلام خدمت دوستان عزیز

ما تو قالبمون اومدیم برای زمینه های دلخواه ادیتور گذاشتیم.این ادیتور تا قبل از نسخه های جدید وردپرس کامل بود یعنی ابزارهاش کامل بودن اما بعد از اپدیتش که ادیتور وردپرس تغییراتی یافت ادیتور ما ناقص لود میشه یعنی بعضی ابزارهاش لود نمیشه.

عکسی براتون گذاشتم از زمینه های قالبمون که میتونید مشاهده کنید مثلا امکان لینک دادن درش نیست یا امکان تغییر رنگ و فونت و چیزهای دیگر.

وقتی میخواییم پستی ارسال کنیم اون قسمتش ادیتور کامل میاد ولی اینو که ما اضافه کردیم ناقصه.میخواستم بدونم چطوری میتونیم ادیتور کامل رو فراخوانی کنم و با چه دستوری.

دستوری که برای فراخوانی این ادیتور استفاده میشه اینه و تو فایل فانکشن هستش:


$arr_design_details =
array (
"cost" => array(
"name" => "cost",
"type" => "editor",
"title" => "راهنمای نصب:",
"description" => "",
"scope" => array("post","page")),[/left]


"size" => array(
"name" => "size",
"type" => "editor",
"title" => "مشخصات: ",
"description" => "",
"scope" => array("post","page")),
);

post-8248-0-20706500-1416424486_thumb.jp

لینک به ارسال

آرگومان های wp_editor تو array به چه صورت تعریف شده؟ اضافه کنید


'tinymce' => true,

مثال:


$settings = array(
'textarea_name' => 'نام زمینه دلخواه',
'quicktags' => array( 'buttons' => 'em,strong,link' ),
'tinymce' => true,
'editor_css' => '<style>#wp-excerpt-editor-container .wp-editor-area{height:175px; width:100%;}</style>'
);
$cn = get_post_meta($post->ID, "نام زمینه دلخواه", true);
wp_editor( $cn , $editor_id, $settings );

  • امتیاز 3
لینک به ارسال

ممنون از لطف دوستان.این کد کامل متاباکسی هست که تو قالب نوشته شده.تو این چه تغییراتی بدم که ادیتور خود وردپرس اما به صورت کامل لود بشه:


<?php[/left]


$arr_design_details =
array (
"cost" => array(
"name" => "cost",
"type" => "editor",
"title" => "راهنمای نصب:",
"description" => "",
"scope" => array("post","page")),
"size" => array(
"name" => "size",
"type" => "editor",
"title" => "مشخصات: ",
"description" => "",
"scope" => array("post","page")),
"dllink" => array(
"name" => "dllink",
"type" => "editor",
"title" => "لينک دانلود :",
"description" => "",
"scope" => array("post","page")),
"password" => array(
"name" => "password",
"type" => "editor",
"title" => "لینک تالار:",
"description" => "",
"scope" => array("post","page")),
"manba" => array(
"name" => "manba",
"type" => "editor",
"title" => "منبع :",
"description" => "",
"scope" => array("post","page"))
);
function generate_design_form() {
global $post, $arr_design_details;
foreach($arr_design_details as $meta_box) {
echo'<input type="hidden" name="'.$meta_box['name'].'_noncename" id="'.$meta_box['name'].'_noncename" value="'.wp_create_nonce( plugin_basename(__FILE__) ).'" />';
echo'<div><span style="width:200px; float:right">'.$meta_box['title'].'</span>';
if( $meta_box['type'] == "input" ) {
$meta_box_value = get_post_meta($post->ID, $meta_box['name'], true);
if($meta_box_value == "")
$meta_box_value = $meta_box['std'];
echo'<input type="text" name="'.$meta_box['name'].'" value="'.$meta_box_value.'" size="98" /><br />';
}elseif($meta_box['type'] == "editor"){
$meta_box_value = get_post_meta($post->ID, $meta_box['name'], true);
wp_editor( $meta_box_value, $meta_box['name'] ,$settings = array('media_buttons'=>0,'textarea_rows'=>2));
}
echo '</div>';
echo'<p><label for="'.$meta_box['name'].'">'.$meta_box['description'].'</label></p>';
}
}
function save_form_data( $post_id ) {
global $post, $arr_design_details;
foreach($arr_design_details as $meta_box) {
if ( !wp_verify_nonce( $_POST[$meta_box['name'].'_noncename'], plugin_basename(__FILE__) )) {
return $post_id;
}
if ( 'page' == $_POST['post_type'] ) {
if ( !current_user_can( 'edit_page', $post_id ))
return $post_id;
} else {
if ( !current_user_can( 'edit_post', $post_id ))
return $post_id;
}
$data = $_POST[$meta_box['name']];
if(get_post_meta($post_id, $meta_box['name']) == "")
add_post_meta($post_id, $meta_box['name'], $data, true);
elseif($data != get_post_meta($post_id, $meta_box['name'], true))
update_post_meta($post_id, $meta_box['name'], $data);
elseif($data == "")
delete_post_meta($post_id, $meta_box['name'], get_post_meta($post_id, $meta_box['name'], true));
}
}
function create_meta_box() {
global $theme_name, $arr_design_details;
if (function_exists('add_meta_box')) {
add_meta_box( 'my-custom-fields', 'باکس دانلود', 'generate_design_form', 'post', 'normal', 'high' );
}
}
add_action('admin_menu', 'create_meta_box');
add_action('save_post', 'save_form_data');

?>

لینک به ارسال

به این صورت تست کنید


<?php
$arr_design_details =
array (
"cost" => array(
"name" => "cost",
"type" => "editor",
"title" => "راهنمای نصب:",
"description" => "",
"scope" => array("post","page")),
"size" => array(
"name" => "size",
"type" => "editor",
"title" => "مشخصات: ",
"description" => "",
"scope" => array("post","page")),
"dllink" => array(
"name" => "dllink",
"type" => "editor",
"title" => "لينک دانلود :",
"description" => "",
"scope" => array("post","page")),
"password" => array(
"name" => "password",
"type" => "editor",
"title" => "لینک تالار:",
"description" => "",
"scope" => array("post","page")),
"manba" => array(
"name" => "manba",
"type" => "editor",
"title" => "منبع :",
"description" => "",
"scope" => array("post","page"))
);
function generate_design_form() {
global $post, $arr_design_details;
foreach($arr_design_details as $meta_box) {
echo'<input type="hidden" name="'.$meta_box['name'].'_noncename" id="'.$meta_box['name'].'_noncename" value="'.wp_create_nonce( plugin_basename(__FILE__) ).'" />';
echo'<div><span style="width:200px; float:right">'.$meta_box['title'].'</span>';
if( $meta_box['type'] == "input" ) {
$meta_box_value = get_post_meta($post->ID, $meta_box['name'], true);
if($meta_box_value == "")
$meta_box_value = $meta_box['std'];
echo'<input type="text" name="'.$meta_box['name'].'" value="'.$meta_box_value.'" size="98" /><br />';
}elseif($meta_box['type'] == "editor"){
$meta_box_value = get_post_meta($post->ID, $meta_box['name'], true);
wp_editor( $meta_box_value, $meta_box['name'] ,$settings = array('tinymce'=> true,'textarea_rows'=>2));
}
echo '</div>';
echo'<p><label for="'.$meta_box['name'].'">'.$meta_box['description'].'</label></p>';
}
}
function save_form_data( $post_id ) {
global $post, $arr_design_details;
foreach($arr_design_details as $meta_box) {
if ( !wp_verify_nonce( $_POST[$meta_box['name'].'_noncename'], plugin_basename(__FILE__) )) {
return $post_id;
}
if ( 'page' == $_POST['post_type'] ) {
if ( !current_user_can( 'edit_page', $post_id ))
return $post_id;
} else {
if ( !current_user_can( 'edit_post', $post_id ))
return $post_id;
}
$data = $_POST[$meta_box['name']];
if(get_post_meta($post_id, $meta_box['name']) == "")
add_post_meta($post_id, $meta_box['name'], $data, true);
elseif($data != get_post_meta($post_id, $meta_box['name'], true))
update_post_meta($post_id, $meta_box['name'], $data);
elseif($data == "")
delete_post_meta($post_id, $meta_box['name'], get_post_meta($post_id, $meta_box['name'], true));
}
}
function create_meta_box() {
global $theme_name, $arr_design_details;
if (function_exists('add_meta_box')) {
add_meta_box( 'my-custom-fields', 'باکس دانلود', 'generate_design_form', 'post', 'normal', 'high' );
}
}
add_action('admin_menu', 'create_meta_box');
add_action('save_post', 'save_form_data');
?>

  • امتیاز 2
لینک به ارسال

کدتو ادیتور دیفالت وردپرس رو درست فراخوانی می کنه در


}elseif($meta_box['type'] == "editor"){
$meta_box_value = get_post_meta($post->ID, $meta_box['name'], true);
wp_editor( $meta_box_value, $meta_box['name'] ,$settings = array('media_buttons'=>0,'textarea_rows'=>2));
}

اگر درست کار نمی کنه کد دیگه ای داره تداخل ایجاد می کنه افزونه هاتون رو غیر فعال کنید و چک کنید اگر برطرف شد یکی یکی افزونه ها را فعال کنید تا افزونه مشکل دار مشخص بشه

  • امتیاز 1
لینک به ارسال

کدی که گذاشتید هیچ ایرادی نداره و اینکه با چه کدی و در کجا تداخل ایجاد می شه رو نمی شه حدس زد

اگر قالبتون رایگانه لینک دانلودش از یک سایت معتبر را بگذارید اینجا و اگر رایگان نیست هم با فروشنده اش تماس بگیرید

  • امتیاز 2
لینک به ارسال

قوانین انجمن را بخونید در این انجمن به قالبهای تجاری پشتیبانی رایگان داده نمی شه

نویسنده قالبتون اگر از کدهایی که خودش نوشته سر در نیاورده چه انتظاری از دیگران دارید؟

  • امتیاز 1
لینک به ارسال

بزرگوار حالا بلد نیست دیگه میفرمایید چه کنیم.

البته اینم عرض کنم ما قبلا یه طراح دیگه کار کرده بود قالبو یه قال قدیمی داشتیم تو وردپرس ورژنای قبلی این درست کار میکرد.یعنی کامل بود بعد که وردپرس اپدیت شد تو قالب قدیمی هم ادیتور اینطوری ناقص لود شد.

بعد که فرد دیگه طراحی کردن این مشکل بازم هست یعنی هم قبلیه هم الان مشکل بوده.بعد از اپدیت وردپرس البته به ورژنهای جدیدتر

شمام که میگید تداخل میکنه خلاصه با یک ادیتور تداخل میکنه دیگه؟یا میتونه با کدای نامربوط به ادیتورم تداخل کنه که باعث شه چندتا دکمه خاص لود نشن اونجا؟

و اینکه افزونه CKeditor رو که نصب میکنم ادیتور به صورت کامل هم بالا و هم تو متاباکسا درست نمایش میده و بدون نقص

لینک به ارسال

پاسختون رو عرض کردم

تداخل کد چیزی نیست که بشه حدس زد با هر کدی در هرجا ممکنه تداخل کنه

اگر فقط در ورژنهای 3.8 به بالا مشکل دارید می تونه مربوط به کدهای آپلودر هم باشه

ضمن اینکه تابع


editor();

به


wp_editor();

تغییر کرده که ظاهرا در قالب شما از تابع درست استفاده شده

  • امتیاز 2
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...