• اطلاعیه ها

    • Morteza

      باهم بسازیم: اطلس ووکامرس و وردپرس   14/07/96

      تاپیک ایجاد شده برای بحث در جهت ایجاد یک منبع، ویکی، صفحات توضیحی و یا بخش آموزشی جامع برای وردپرس و متعلقات مختلف آن است. لطفا جهت مشارکت در این بحث، ارائه پیشنهاد و یا انتقاد به تاپیک فوق مراجعه کنید. باهم بسازیم: اطلس ووکامرس و وردپرس
Farid

مشکل با پنل تنظیمات

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

سلام

پنل تنظیمات پوسته ی سایت رو وقتی روی گزینه ذخیره کلیک میکنم ، تنظیمات رو ذخیره میکنه اما میره توی یه صفحه دیگه و می نویسه ( شما مجوز کافی برای دسترسی به این برگه را ندارید ) ، به نظر شما مشکل از کجا میتونه باشه ؟

0

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


لینک به پست

اگر کاربریتون ادمینه و به تنظیمات دیفالت هم دست نزدید احتمالا تاثیر یک افزونه غیر استاندارده

اگر مطمئنید ذخیره سازی انجام می شه به نظرم صحیح ترین کار راه اندازی دوباره وردپرس از صفحه به روز رسانی ها و تغییر رمز ورود است

2

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


لینک به پست

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

ممنون . سایت هیچ افزونه ای روش نیست . پنل تنظیمات رو هم خودم دارم کدنویسی میکنم ، به خاطر همین فکر کنم مشکل از کدنویسی خودم باشه . ( مشکل روی لوکال هم دیده میشه ) این کد پنل هست :

<?php

$themename = "خدمات نشر قلم";

$shortname = "ghalam";

$zm_categories_obj = get_categories('hide_empty=0');

$zm_categories = array();

foreach ($zm_categories_obj as $zm_cat) {

$zm_categories[$zm_cat->cat_ID] = $zm_cat->category_nicename;

}

$categories_tmp = array_unshift($zm_categories, "Select a category:");

$options = array (

array( "name" => "ستون های صفحه اصلی",

"type" => "title",

"desc" => "This section customizes the custom widget areas on the home page.",

),

array( "type" => "open"),

array( "name" => "عنوان ستون اول",

"desc" => "متنی که کنار آیکون قرار می گیرد",

"id" => $shortname."_widgt1",

"std" => "عنوان تستی",

"type" => "text"),

array( "name" => "محتوای ستون اول",

"desc" => "محتوای مورد نظر را مثل محتوای تستی بین دو تگ قرار دهید ",

"id" => $shortname."_widg1",

"std" => "<p>اینجا متن تستی است</p>",

"type" => "textarea"),

array("name" => "لینک ستون اول",

"desc" => "لینک ستون یک را به طور کامل وارد کنید",

"id" => $shortname."_url1",

"std" => "http://www.faridghasemi.ir/",

"type" => "text"),

array( "name" => "عنوان ستون دوم",

"desc" => "متنی که کنار آیکون قرار می گیرد",

"id" => $shortname."_widgt2",

"std" => "عنوان تستی",

"type" => "text"),

array( "name" => "محتوای ستون دوم",

"desc" => "محتوای مورد نظر را مثل محتوای تستی بین دو تگ قرار دهید",

"id" => $shortname."_widg2",

"std" => "<p>اینجا متن تستی است</p>",

"type" => "textarea"),

array("name" => "لینک ستون دوم",

"desc" => "لینک ستون یک را به طور کامل وارد کنید",

"id" => $shortname."_url2",

"std" => "ttp://www.faridghasemi.ir/",

"type" => "text"),

array( "name" => "عنوان ستون سوم",

"desc" => "متنی که کنار آیکون قرار می گیرد",

"id" => $shortname."_widgt3",

"std" => "عنوان تستی",

"type" => "text"),

array( "name" => "محتوای ستون سوم",

"desc" => "محتوای مورد نظر را مثل محتوای تستی بین دو تگ قرار دهید ",

"id" => $shortname."_widg3",

"std" => "<p>اینجا متن تستی است</p>",

"type" => "textarea"),

array("name" => "لینک ستون سوم",

"desc" => "لینک ستون یک را به طور کامل وارد کنید",

"id" => $shortname."_url3",

"std" => "ttp://www.faridghasemi.ir/",

"type" => "text"),

array( "type" => "close"),

array( "name" => "تنظیمات اسکرول فوتر ( به تعداد 12 عدد)",

"type" => "title",

"desc" => "شما میتوانید لوگو ها را اینجا ویرایش کنید",

),

array("type" => "open"),

array("name" => "تصویر",

"desc" => "آدرس تصویر",

"id" => $shortname."_banner4",

"std" => "http://localhost/wordpress/wp-content/themes/Ghalampub/images/carousel/carousel3.jpg",

"type" => "text"),

array("name" => "لینک تصویر",

"desc" => "لینک تصویر",

"id" => $shortname."_url4",

"std" => "http://www.Faridghasemi.ir/",

"type" => "text"),

array("name" => "عنوان تصویر",

"desc" => "عنوان تصویر",

"id" => $shortname."_lab4",

"std" => "متنی که روی لوگو نوشته می شود",

"type" => "text"),

array("type" => "break"),

array("name" => "تصویر",

"desc" => "آدرس تصویر",

"id" => $shortname."_banner5",

"std" => "http://localhost/wordpress/wp-content/themes/Ghalampub/images/carousel/carousel3.jpg",

"type" => "text"),

array("name" => "لینک تصویر",

"desc" => "لینک تصویر",

"id" => $shortname."_url5",

"std" => "http://www.Faridghasemi.ir/",

"type" => "text"),

array("name" => "عنوان تصویر",

"desc" => "عنوان تصویر",

"id" => $shortname."_lab5",

"std" => "متنی که روی لوگو نوشته می شود",

"type" => "text"),

array("type" => "break"),

array("name" => "تصویر",

"desc" => "آدرس تصویر",

"id" => $shortname."_banner6",

"std" => "http://localhost/wordpress/wp-content/themes/Ghalampub/images/carousel/carousel3.jpg",

"type" => "text"),

array("name" => "لینک تصویر",

"desc" => "لینک تصویر",

"id" => $shortname."_url6",

"std" => "http://www.Faridghasemi.ir/",

"type" => "text"),

array("name" => "عنوان تصویر",

"desc" => "عنوان تصویر",

"id" => $shortname."_lab6",

"std" => "متنی که روی لوگو نوشته می شود",

"type" => "text"),

array("type" => "break"),

array("name" => "تصویر",

"desc" => "آدرس تصویر",

"id" => $shortname."_banner7",

"std" => "http://localhost/wordpress/wp-content/themes/Ghalampub/images/carousel/carousel3.jpg",

"type" => "text"),

array("name" => "لینک تصویر",

"desc" => "لینک تصویر",

"id" => $shortname."_url7",

"std" => "http://www.Faridghasemi.ir/",

"type" => "text"),

array("name" => "عنوان تصویر",

"desc" => "عنوان تصویر",

"id" => $shortname."_lab7",

"std" => "متنی که روی لوگو نوشته می شود",

"type" => "text"),

array("type" => "break"),

array("name" => "تصویر",

"desc" => "آدرس تصویر",

"id" => $shortname."_banner8",

"std" => "http://localhost/wordpress/wp-content/themes/Ghalampub/images/carousel/carousel3.jpg",

"type" => "text"),

array("name" => "لینک تصویر",

"desc" => "لینک تصویر",

"id" => $shortname."_url8",

"std" => "http://www.Faridghasemi.ir/",

"type" => "text"),

array("name" => "عنوان تصویر",

"desc" => "عنوان تصویر",

"id" => $shortname."_lab8",

"std" => "متنی که روی لوگو نوشته می شود",

"type" => "text"),

array("type" => "break"),

array("name" => "تصویر",

"desc" => "آدرس تصویر",

"id" => $shortname."_banner9",

"std" => "http://localhost/wordpress/wp-content/themes/Ghalampub/images/carousel/carousel3.jpg",

"type" => "text"),

array("name" => "لینک تصویر",

"desc" => "لینک تصویر",

"id" => $shortname."_url9",

"std" => "http://www.Faridghasemi.ir/",

"type" => "text"),

array("name" => "عنوان تصویر",

"desc" => "عنوان تصویر",

"id" => $shortname."_lab9",

"std" => "متنی که روی لوگو نوشته می شود",

"type" => "text"),

array("type" => "break"),

array("name" => "تصویر",

"desc" => "آدرس تصویر",

"id" => $shortname."_banner10",

"std" => "http://localhost/wordpress/wp-content/themes/Ghalampub/images/carousel/carousel3.jpg",

"type" => "text"),

array("name" => "لینک تصویر",

"desc" => "لینک تصویر",

"id" => $shortname."_url10",

"std" => "http://www.Faridghasemi.ir/",

"type" => "text"),

array("name" => "عنوان تصویر",

"desc" => "عنوان تصویر",

"id" => $shortname."_lab10",

"std" => "متنی که روی لوگو نوشته می شود",

"type" => "text"),

array("type" => "break"),

array("name" => "تصویر",

"desc" => "آدرس تصویر",

"id" => $shortname."_banner11",

"std" => "http://localhost/wordpress/wp-content/themes/Ghalampub/images/carousel/carousel3.jpg",

"type" => "text"),

array("name" => "لینک تصویر",

"desc" => "لینک تصویر",

"id" => $shortname."_url11",

"std" => "http://www.Faridghasemi.ir/",

"type" => "text"),

array("name" => "عنوان تصویر",

"desc" => "عنوان تصویر",

"id" => $shortname."_lab11",

"std" => "متنی که روی لوگو نوشته می شود",

"type" => "text"),

array("type" => "break"),

array("name" => "تصویر",

"desc" => "آدرس تصویر",

"id" => $shortname."_banner12",

"std" => "http://localhost/wordpress/wp-content/themes/Ghalampub/images/carousel/carousel3.jpg",

"type" => "text"),

array("name" => "لینک تصویر",

"desc" => "لینک تصویر",

"id" => $shortname."_url12",

"std" => "http://www.Faridghasemi.ir/",

"type" => "text"),

array("name" => "عنوان تصویر",

"desc" => "عنوان تصویر",

"id" => $shortname."_lab12",

"std" => "متنی که روی لوگو نوشته می شود",

"type" => "text"),

array("type" => "break"),

array("name" => "تصویر",

"desc" => "آدرس تصویر",

"id" => $shortname."_banner13",

"std" => "http://localhost/wordpress/wp-content/themes/Ghalampub/images/carousel/carousel3.jpg",

"type" => "text"),

array("name" => "لینک تصویر",

"desc" => "لینک تصویر",

"id" => $shortname."_url13",

"std" => "http://www.Faridghasemi.ir/",

"type" => "text"),

array("name" => "عنوان تصویر",

"desc" => "عنوان تصویر",

"id" => $shortname."_lab13",

"std" => "متنی که روی لوگو نوشته می شود",

"type" => "text"),

array("type" => "break"),

array("name" => "تصویر",

"desc" => "آدرس تصویر",

"id" => $shortname."_banner14",

"std" => "http://localhost/wordpress/wp-content/themes/Ghalampub/images/carousel/carousel3.jpg",

"type" => "text"),

array("name" => "لینک تصویر",

"desc" => "لینک تصویر",

"id" => $shortname."_url14",

"std" => "http://www.Faridghasemi.ir/",

"type" => "text"),

array("name" => "عنوان تصویر",

"desc" => "عنوان تصویر",

"id" => $shortname."_lab14",

"std" => "متنی که روی لوگو نوشته می شود",

"type" => "text"),

array("type" => "break"),

array("name" => "تصویر",

"desc" => "آدرس تصویر",

"id" => $shortname."_banner15",

"std" => "http://localhost/wordpress/wp-content/themes/Ghalampub/images/carousel/carousel3.jpg",

"type" => "text"),

array("name" => "لینک تصویر",

"desc" => "لینک تصویر",

"id" => $shortname."_url15",

"std" => "http://www.Faridghasemi.ir/",

"type" => "text"),

array("name" => "عنوان تصویر",

"desc" => "عنوان تصویر",

"id" => $shortname."_lab15",

"std" => "متنی که روی لوگو نوشته می شود",

"type" => "text"),

array("type" => "break"),

array( "name" => "تنظیمات شبکه های اجتماعی در فوتر",

"type" => "title",

"desc" => "ای قسمت امکان تنظیم گزینه های مربوط به دکمه های شبک اجتماعی را در اختیار شما می گذارد",

),

array( "type" => "open"),

array( "name" => "آیدی توییتر",

"desc" => "آیدی توییتر خود را وارد کنید",

"id" => $shortname."_twitter",

"std" => "twitter",

"type" => "text"),

array( "name" => "صفحه ی فیس بوک",

"desc" => "لینک صفحه فیسبوک خود را وارد کنید",

"id" => $shortname."_face",

"std" => "",

"type" => "text"),

array( "type" => "close"),

);

function mytheme_add_admin() {

global $themename, $shortname, $options;

if ( $_GET['page'] == basename(__FILE__) ) {

if ( 'save' == $_REQUEST['action'] ) {

foreach ($options as $value) {

update_option( $value['id'], $_REQUEST[ $value['id'] ] ); }

foreach ($options as $value) {

if( isset( $_REQUEST[ $value['id'] ] ) ) { update_option( $value['id'], $_REQUEST[ $value['id'] ] ); } else { delete_option( $value['id'] ); } }

header("Location: themes.php?page=theme_options.php&saved=true");

die;

} else if( 'reset' == $_REQUEST['action'] ) {

foreach ($options as $value) {

delete_option( $value['id'] );

update_option( $value['id'], $value['std'] );}

header("Location: themes.php?page=theme_options.php&reset=true");

die;

}

}

add_theme_page($themename." Options", "تنظیمات 2", 'edit_themes', basename(__FILE__), 'mytheme_admin');

}

function mytheme_admin() {

global $themename, $shortname, $options;

?>

<div class="wrap">

<div class="opwrap" style="background:#fff; margin:20px auto; width:70%; padding:30px;" >

<h2 class="wraphead" style="margin:9px 0px; padding:13px 9px; font-family:arial black; font-style:normal; background:#B3D4EF;"><b>تنظیمات : سه ستون صفحه نخست ، شبکه های اجتماعی ، اسکرولر عکس </b></h2>

<?php

if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong> تنظیمات ذخیره شد. </strong></p></div>';

if ( $_REQUEST['reset'] ) echo '<div id="message" class="updated fade"><p><strong> تنظیمات باز نشانی شد. </strong></p></div>';

?>

<form method="post">

<?php foreach ($options as $value) {

switch ( $value['type'] ) {

case "image":

?>

<tr>

<td width="30%" rowspan="2" valign="middle"><strong><?php echo $value['name']; ?></strong></td>

<td width="60%"><img src="<?php echo $value['id']; ?>" /></td>

</tr>

<tr><td colspan="2" style="margin-bottom:4px;border-bottom:1px dotted #ffffff;"> </td></tr>

<tr><td colspan="2"> </td></tr>

<?php break;

case "open":

?>

<table width="90%" border="0" style="background-color:#eef4fb; padding:9px;">

<?php break;

case "close":

?>

</table><br />

<?php break;

case "break":

?>

<tr><td colspan="2" style="border-top:1px solid #C2DCEF;"> </td></tr>

<?php break;

case "title":

?>

<table width="90%" border="0" style="background-color:#dceefc; padding:4px 9px;">

<tr>

<td colspan="2"><h3 style="font-size:17px;font-family:Georgia,'Times New Roman',Times,serif;"><?php echo $value['name']; ?></h3></td>

</tr>

<?php break;

case 'text':

?>

<tr>

<td width="20%" rowspan="2" valign="middle"><strong><?php echo $value['name']; ?></strong></td>

<td width="70%"><input style="width:400px;" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" type="<?php echo $value['type']; ?>" value="<?php if ( get_settings( $value['id'] ) != "") { echo get_settings( $value['id'] ); } else { echo $value['std']; } ?>" /></td>

</tr>

<tr>

<td><small><?php echo $value['desc']; ?></small></td>

</tr><tr><td colspan="2" style="margin-bottom:4px;border-bottom:1px dotted #ffffff;"> </td></tr><tr><td colspan="2"> </td></tr>

<?php

break;

case 'textarea':

?>

<tr>

<td width="20%" rowspan="2" valign="middle"><strong><?php echo $value['name']; ?></strong></td>

<td width="70%"><textarea name="<?php echo $value['id']; ?>" style="width:400px; height:200px;" type="<?php echo $value['type']; ?>" cols="" rows=""><?php if ( get_settings( $value['id'] ) != "") { echo stripslashes (get_settings( $value['id'] )); } else { echo $value['std']; } ?></textarea></td>

</tr>

<tr>

<td><small><?php echo $value['desc']; ?></small></td>

</tr><tr><td colspan="2" style="margin-bottom:4px;border-bottom:1px dotted #ffffff;"> </td></tr><tr><td colspan="2"> </td></tr>

<?php

break;

case 'select':

?>

<tr>

<td width="20%" rowspan="2" valign="middle"><strong><?php echo $value['name']; ?></strong></td>

<td width="70%"><select style="width:240px;" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>"><?php foreach ($value['options'] as $option) { ?><option<?php if ( get_settings( $value['id'] ) == $option) { echo ' selected="selected"'; } elseif ($option == $value['std']) { echo ' selected="selected"'; } ?>><?php echo $option; ?></option><?php } ?></select></td>

</tr>

<tr>

<td><small><?php echo $value['desc']; ?></small></td>

</tr>

<tr><td colspan="2" style="margin-bottom:4px;border-bottom:1px dotted #ffffff;"> </td></tr>

<tr><td colspan="2"> </td></tr>

<?php

break;

case "checkbox":

?>

<tr>

<td width="20%" rowspan="2" valign="middle"><strong><?php echo $value['name']; ?></strong></td>

<td width="70%"><? if(get_settings($value['id'])){ $checked = "checked=\"checked\""; }else{ $checked = ""; } ?>

<input type="checkbox" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" value="true" <?php echo $checked; ?> />

</td>

</tr>

<tr>

<td><small><?php echo $value['desc']; ?></small></td>

</tr><tr><td colspan="2" style="margin-bottom:4px;border-bottom:1px dotted #ffffff;"> </td></tr><tr><td colspan="2"> </td></tr>

<?php break;

}

}

?>

<p class="submit">

<input name="save" type="submit" value="ذخیره تنظیمات" class="button-primary" />

<input type="hidden" name="action" value="save" />

</p>

</form>

<form method="post">

<p class="submit">

<input name="reset" type="submit" value="بازنشانی تنظیمات" />

<input type="hidden" name="action" value="reset" />

</p>

</form>

<p style="text-align:right;"> <small> طراحی و توسعه : <a href="#/"></a> </small>

</div>

<?php

}

add_action('admin_menu', 'mytheme_add_admin'); ?>

ویرایش شده در توسط Morteza
کدهای بلند در longbox
0

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


لینک به پست

سلام

اینطور که بنظر میرسه کد مشکلی نداره. اما بهتره از متدهای بهتری برای ایجاد بخش تنظیمات استفاده کنید.

2

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


لینک به پست

مطمئن نیستم ولی ممکنه اگر شرطی شبیه


if ( !current_user_can('switch_themes') && !current_user_can('edit_theme_options') )

بگذارید مرجعی را برای قیاس پیدا کنه و ارور نده

اگر دوست داشتید تست کنید و منتظر پاسخ صحیحتر دوستان نیز باشید

3

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


لینک به پست

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

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

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

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


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

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

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


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