• اطلاعیه ها

    • Saeed Fard

      برگزاری میتاپ وردپرسی   14/08/96

      بعد از اولین دوره همایش وردپرس در ایران اگر پیگیر اخبار وردپرس بوده باشید، حتما خبر برگزاری چندین میتاپ و جلسه متعدد وردپرسی را شنیده‌اید، یکی از بحث‌های اصلی که محور اصلی این میتاپ‌ها بوده است برگزاری وردکمپ بود که به طور جدی دنبال می‌شود. این میتاپ‌ها و جلسات توسط جمعی از فعلان حوزه وردپرس در کنار وردپرس‌پارسی برگزار می‌شد و مسائل مربوط به این حیطه و از جمله وردکمپ مورد بحث قرار می‌گرفت. این بار با رایزنی‌هایی که با تیم اصلی وردپرس داشتیم در بخش دوم این رویدادها قصد داریم که میتاپ‌ها و جلسات وردپرسی را به صورت آزاد برگزار کنیم تا تمامی علاقه‌مندان و دوست‌داران وردپرس فرصت حضور داشته باشند و با گردهمایی، جامعه کاملتری از دوست داران وردپرس بسازیم و از تجربیات یکدیگر استفاده کنیم.   بدیهی است که این رویدادها با رویکرد مثبت در جهت سود رسانی به جامعه وردپرس و افراد حاضر در آن برگزار می‌شود و برای تمامی علاقه‌مندان به وردپرس است. پس اگر یک کاربر معمولی وردپرس یا یک توسعه دهنده هستید می‌توانید در این رویدادها شرکت کنید. ما در ملاقات‌هایمان از موارد مختلف و کاربردی وردپرس صحبت می‌کنیم و علاقمند به توسعه هر چه بیشتر وردپرس در ایران هستیم. ما وردپرس را دوست داریم. عضویت در این گروه برای همه افرادی که مایل به پیوستن هستند بدون در نظرگرفتن توانایی‌ها، مهارت‌ها، وضعیت مالی و یا معیارهای دیگر باز و رایگان است. فضای میتاپ‌ها و جلسات ما دوستانه و آزادنه و دور از هرگونه تبعیض و رفتارهای زننده است. بر این اساس از تمامی دوستانی که علاقه‌مند به شرکت در میتاپ‌های وردپرس هستند دعوت می‌شود تا از طریق لینک زیر در سایت میتاپ اقدام به ثبت‌نام کنند و منتظر خبرهای برگزاری جلسات در آینده باشند . لینک ثبت نام و عضویت : https://www.meetup.com/Iran-WordPress-Meetup    
A-fshin

مشکل در importer پنل تنظیمات

3 پست در این موضوع قرار دارد

ارسال شده در (ویرایش شده)

درود.من اومدم ابتدا آپشن homebuilder رو از بقیه ی آپشن ها جداکردم.


$pasargad_array_options = array(
'pasargad_options',
'pasargad_boxs'
);

pasargad_options برای آرایه های مختلف تعریف شده و pasargad_boxs هم برای homebuilder پوسته و باکس های drag&drop.

کاری که می خوام انجام بدم امکان تهیه نسخه ی پشتیبان از پنل تنظیمات و امکان بازگردانی آن است.

توسط کد زیر آرایه ها رو که در پنل کاربر ذخیره و تنطیم می کنه encode می کنم


<?php
$encode = base64_encode(serialize(get_option( 'pasargad_options' )));
?>

و در یک textarea نمایش می دم و کاربر می تونه اون رو کپی و بعدها می تونه بازگردانی کنه.اما کد بالا homebuilder رو مقادیرش رو encode نمی کنه باید کد زیر رو برای در ادامه ی کد بالا قرار بدم ( کارم اشتباهه چون اینبار فقط homebuilder رو می شه encode کرد)

$encode = base64_encode(serialize(get_option( 'pasargad_boxs' )));

در قسمت save و restore کردن نسخه ی پشتیبان برای decode کردن و ذخیره سازی این مقادیر به صورت زیر عمل کردم.


add_action('wp_ajax_pasargad_save_data', 'pasargad_ajax_save_panel');
function pasargad_ajax_save_panel(){
$pasargad_restored = $_POST['pasargad_restore'];
$decode = unserialize(base64_decode($pasargad_restored));
$pasargad_value = array('pasargad_options');
$pasargad_value = array('pasargad_boxs');
$pasargad_value['pasargad_options'] = $decode;
$pasargad_value['pasargad_boxs'] = $decode;
if($pasargad_restored) {
$data = $pasargad_value;
}else{
$data = $_POST;
}
pasargad_save_panel('ajax', $data);
}
function pasargad_save_panel($from, $data){
global $pasargad_array_options;
if ('pasargad_save_data' == $_REQUEST['action']) {
foreach ($pasargad_array_options as $option) {
if( isset( $data[$option] )){
array_walk_recursive( $data[$option] , 'pasargad_clean_options');
update_option($option , $data[$option]);
}else{
delete_option($option);
}
}
} elseif ('pasargad_reset_data' == $_REQUEST['action']) {
foreach ($pasargad_array_options as $option) {
if( isset( $data[$option] )){
array_walk_recursive( $data[$option] , 'pasargad_clean_options');
update_option($option , $data[$option]);
}else{
delete_option($option);
}
}
header("Location: admin.php?page=pasargad-panel&reset=true");
if($from == "direct"){
}
die("reset!");
}
}
function casestudy_icons() {

در کدهای بالا pasargad_options و pasargad_boxs به صورت زیر تعریف شده که decode بشن


$decode = unserialize(base64_decode($pasargad_restored));
$pasargad_value = array('pasargad_options');
$pasargad_value = array('pasargad_boxs');
$pasargad_value['pasargad_options'] = $decode;
$pasargad_value['pasargad_boxs'] = $decode;

الان فقط می تونم تنها یا homebuilder یا باقی تنظیمات رو نسخه ی پشتیبان درست کنم.چیکار کنم هر دوی اونها با هم encode بشن.حتی از کد زیر هم برای encode کردن استفاده کردم اما نشد و دیگه هیچی بازگردانی نمی شه.


<?php
global $pasargad_array_options ;

$encode = array();
foreach( $pasargad_array_options as $option ){
if( get_option( $option ) )
$encode[$option] = get_option( $option ) ;
}
?>

ویرایش شده در توسط افشیـــــن
0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

از اساتید کسی نمی تونه کمک کنه؟!

من می خوام pasargad_boxs و pasargad_options رو با هم encode کنم و کاربر کد encode شده رو در یک textarea دیگه با آی دی pasargad_restore اونو بازگردانی کنه

من اومدم به جای کدهای بالا بصورت زیر بخش encode رو تعریف کردم:


<?php
global $pasargad_array_options ;
$ps_options = array();
foreach( $pasargad_array_options as $option ){
if( get_option( $option ) )
$ps_options[$option] = get_option( $option ) ;
}
?>
<?php ?>
<textarea style="width:100%;margin-bottom:10px;" rows="6" type="textarea" cols="" rows=""><?php echo $pssettings = base64_encode( serialize( $ps_options )); ?></textarea>

سپس برای decode کردن هم بصورت زیر در فانکشن پنل تعرف کردم :


add_action('wp_ajax_pasargad_save_data', 'pasargad_ajax_save_panel');
function pasargad_ajax_save_panel(){
if( !empty( $data['pasargad_restore'] ) ){
$data = unserialize(base64_decode( $data['pasargad_restore'] ));
}else{
$data = $_POST;
}
pasargad_save_panel('ajax', $data);
}

باز هم قادر به بازگردانی نیست

ویرایش شده در توسط افشیـــــن
0

به اشتراک گذاری این پست


لینک به پست

شما اگر میخواهید دو تارو باهم به کاربر بدهید

میتوانید پس از انکد شدن

با کاراکتری خاص برای مثال ||| (3 پایپ) از هم جدا کنید

سپس هنگام بازگردانی براساس کاراکترها explode کنید

1

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری