• اطلاعیه ها

    • Morteza

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

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

اپلود تصویر در تنظیمات قالب

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

سلام

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

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

میخوام مثل تصویر شاخص که طرف کلیک میکنه و تصویر رو از کامپیوتر انتخاب میکنه و ارسال رو میزنه و سیستم خودکار انجام میده

داخل قالب آماده های فاب تمز هم نگاه انداختم نتونستم چیزی پیدا کنم

چطوری این امکان رو بهش اضافه کنم؟

0

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


لینک به پست

این ویدجت رو پیدا کردم

اما هر کاری میکنم نمیتونم برای تنظیمات قالب بزارمش , همش ارور میده چون از توابع ابزارک داخلش استفاده شده

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

image-upload-widget.zip

0

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


لینک به پست

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

تقریبا روش زیر رو بتونید پیاده کنید مشکلی نخواهید داشت.


http://code.tutsplus.com/articles/how-to-integrate-the-wordpress-media-uploader-in-theme-and-plugin-options--wp-26052

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

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


لینک به پست

این صفحات رو قبلا دیدم

خیلی سرچ کردم اما یا سر در نیاوردم یا هم اونی که من میخواستم نبود

مخصوصا همین صفحه ای که گفتین اصلا نمی فهم که دقیقا داره چیکار میکنه یکسره کد اضافه می کنه

نتونستم استفاده ای کنم ازش

0

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


لینک به پست

http://www.webmaster-source.com/2013/02/06/using-the-wordpress-3-5-media-uploader-in-your-plugin-or-theme/

سه بخش کد داره بخش اول در محل نمایش

بخش دوم در functions.php

و بخش سوم هم در یک فایل با پسوند js که موقع فراخوانی باید پایین تر از فایل jquery.js سایت فراخوانی بشه

2

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


لینک به پست

آقای فخار این رو هم امتحان کردم

اما اصلا آپلود نکردش یعنی اصلا کار نکرد

, در ضمن باید به این لینک عکس رو بدیم تا بتونه اپلود کنه درسته؟

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

میشه از کدهاش استفاده کرد؟

این کدهای پنل تنظیماتمه :


<?php
/* -- -دسته بندی ها -- */
$themename = " نام سایت";
$shortname = "shortname";
$categories = get_categories('hide_empty=0&orderby=name');
$all_cats = array();
foreach ($categories as $category_item ) {
$all_cats[$category_item->cat_ID] = $category_item->cat_name;
}
array_unshift($all_cats, "انتخاب دسته بندی");
/* -- ساخت تنظیمات -- */
function theme_settings_init(){
register_setting( 'theme_settings', 'theme_settings' );
wp_enqueue_style("panel_style", get_template_directory_uri()."/option/admin.css", false, "1.0.0", "all");
wp_enqueue_script("panel_script", get_template_directory_uri()."/option/panel_script.js", false, "1.0.0");
}
/* -- افزودن تنظیمات به منو پیشخوان -- */
function add_settings_page() {
add_menu_page( __( 'تنظیمات' . 'test' ), __( 'تنظیمات قالب' . '' ), 'manage_options', 'settings', 'theme_settings_page');
}
add_action( 'admin_init', 'theme_settings_init' );
add_action( 'admin_menu', 'add_settings_page' );
/* --تعریف آرایه های تنظیمات -- */
$theme_options = array (
array( "name" =>" تنظیمات" . $themename,
"type" => "title"),
/* -- بخش تنظیمات عمومی -- */
array( "name" => "عمومی",
"type" => "section"),
array( "type" => "open"),
array( "name" => "لوگو سایت",
"desc" => "عکس لوگو را وارد کنید",
"id" => "logo",
"type" => "text",
"std" => ""),
array( "name" => "آیکن سایت",
"desc" => "آیکن سایت باید در اندازه 16*16 باشد",
"id" => $shortname."_favicon", "type" => "text",
"std" => get_bloginfo('url') ."/images/favicon.ico"),
array( "type" => "close"),
/* -- بخش تنظیمات صفحه نخست -- */
array( "name" => "صفحه نخست",
"type" => "section"),
array( "type" => "open"),
array( "name" => "مطالب ویژه صفحه نخست",
"desc" => "دسته مطالب ویژه را انتخاب کنید",
"id" => $shortname."_feat_cat",
"type" => "select",
"options" => $all_cats,
"std" => "انتخاب دسته"),
array( "type" => "close"),
/* --بخش تنظیمات فوتر --- */
array( "name" => "فوتر",
"type" => "section"),
array( "type" => "open"),
array( "name" => "متن کپی رایت فوتر",
"desc" => "متن کپی رایت را وارد کنید",
"id" => "footer_text",
"type" => "textarea",
"std" => ""),
array( "type" => "close")
);
/* -- تعریف بخش های پنل -- */
function theme_settings_page() {
global $themename,$theme_options;
$i=0;
$message='';
if ( 'save' == $_REQUEST['action'] ) {
foreach ($theme_options as $value) {
update_option( $value['id'], $_REQUEST[ $value['id'] ] ); }
foreach ($theme_options as $value) {
if( isset( $_REQUEST[ $value['id'] ] ) ) { update_option( $value['id'], $_REQUEST[ $value['id'] ] ); } else { delete_option( $value['id'] ); } }
$message='saved';
}
else if( 'reset' == $_REQUEST['action'] ) {
foreach ($theme_options as $value) {
delete_option( $value['id'] ); }
$message='reset';
}
?>
<div class="wrap options_wrap">
<div id="icon-options-general"></div>
<h2><?php _e( 'تنظیمات قالب نام سایت' ) ?></h2>
<?php
if ( $message=='saved' ) echo '<div class="updated settings-error" id="setting-error-settings_updated">
<p>تنظیمات قالب '.$themename.' ذخیره شد با موفقیت .</strong></p></div>';
if ( $message=='reset' ) echo '<div class="updated settings-error" id="setting-error-settings_updated">
<p>'.$themename.' بازگردانی تنظیمات به حالت اولیه.</strong></p></div>';
?>
<ul>
<li>نسخه قالب : 1.0.0 </li>
</ul>
<div class="content_options">
<form method="post">
<?php foreach ($theme_options as $value) {
switch ( $value['type'] ) {
case "open": ?>
<?php break;
case "close": ?>
</div>
</div><br />
<?php break;
case "title": ?>
<div class="message">
<p>از این پنل برای تنظیم سایت استفاده کنید</p>
</div>
<?php break;
case 'text': ?>
<div class="option_input option_text">
<label for="<?php echo $value['id']; ?>">
<?php echo $value['name']; ?></label>
<input id="" type="<?php echo $value['type']; ?>" name="<?php echo $value['id']; ?>" value="<?php if ( get_settings( $value['id'] ) != "") { echo stripslashes(get_settings( $value['id']) ); } else { echo $value['std']; } ?>" />
<small><?php echo $value['desc']; ?></small>
<div class="clearfix"></div>
</div>
<?php break;
case 'textarea': ?>
<div class="option_input option_textarea">
<label for="<?php echo $value['id']; ?>"><?php echo $value['name']; ?></label>
<textarea name="<?php echo $value['id']; ?>" rows="" cols=""><?php if ( get_settings( $value['id'] ) != "") { echo stripslashes(get_settings( $value['id']) ); } else { echo $value['std']; } ?></textarea>
<small><?php echo $value['desc']; ?></small>
<div class="clearfix"></div>
</div>
<?php break;
case 'select': ?>
<div class="option_input option_select">
<label for="<?php echo $value['id']; ?>"><?php echo $value['name']; ?></label>
<select 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"'; } ?>><?php echo $option; ?></option>
<?php } ?>
</select>
<small><?php echo $value['desc']; ?></small>
<div class="clearfix"></div>
</div>
<?php break;
case "checkbox": ?>
<div class="option_input option_checkbox">
<label for="<?php echo $value['id']; ?>"><?php echo $value['name']; ?></label>
<?php if(get_option($value['id'])){ $checked = "checked=\"checked\""; }else{ $checked = "";} ?>
<input id="<?php echo $value['id']; ?>" type="checkbox" name="<?php echo $value['id']; ?>" value="true" <?php echo $checked; ?> />
<small><?php echo $value['desc']; ?></small>
<div class="clearfix"></div>
</div>
<?php break;
case "section":
$i++; ?>
<div class="input_section">
<div class="input_title">
<h3><img src="<?php echo get_template_directory_uri();?>/images/options.png" alt=""> <?php echo $value['name']; ?></h3>
<span class="submit"><input name="save<?php echo $i; ?>" type="submit" class="button-primary" value="ذخیره" /></span>
<div class="clearfix"></div>
</div>
<div class="all_options">
<?php break;
}
}?>
<input type="hidden" name="action" value="save" />
</form>
<form method="post">
<p class="submit">
<input name="reset" type="submit" value="بازنشانی تنظیمات" />
<input type="hidden" name="action" value="reset" />
</p>
</form>
</div>
<div class="footer-credit">
<p>طراحی شده از <a title="نام سایت" href="http://test.ir" target="_blank" > نام سایت</a> .</p>
</div>
</div>
<?php
}

0

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


لینک به پست

من الان توی کدهای شما کدهای مرتبط با لینکی که دادم رو نمی بینم

این کدها را بگذارید داخل کدهای فرمتون


<label for="upload_image">
<input id="upload_image" type="text" size="36" name="ad_image" value="http://" />
<input id="upload_image_button" class="button" type="button" value="Upload Image" />
<br />Enter a URL or upload an image
</label>

این کدها را هم


jQuery(document).ready(function($){


var custom_uploader;


$('#upload_image_button').click(function(e) {

e.preventDefault();

//If the uploader object has already been created, reopen the dialog
if (custom_uploader) {
custom_uploader.open();
return;
}

//Extend the wp.media object
custom_uploader = wp.media.frames.file_frame = wp.media({
title: 'Choose Image',
button: {
text: 'Choose Image'
},
multiple: false
});

//When a file is selected, grab the URL and set it as the text field's value
custom_uploader.on('select', function() {
attachment = custom_uploader.state().get('selection').first().toJSON();
$('#upload_image').val(attachment.url);
});

//Open the uploader dialog
custom_uploader.open();

});


});

کپی کنید داخل panel_script.js به باقی کدها هم نیازی ندارید از طریق رسانه وردپرس آپلود کنید یا از فایل های داخل کتابخانه فایلی را انتخاب کنید فرقی نمی کند

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


<?php
$img_url = get_option('ad_image');?>
<img src="<?php echo $img_url;?>">

من همیشه از همین کدها استفاده می کنم - کدها درستند و هیچ مشکلی ندارند

2

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


لینک به پست

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

الان هم باز طبق گفته تون کدها رو اضافه کردم اما نشد یعنی کار نکرد هر چقدر روی دکمه کلیک میکنم چیزی نمیادش

0

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


لینک به پست

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

0

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


لینک به پست

خیلی ممنون بله دیدم

احتمالا کدهای من تداخلی دارند

چون دقیقا همون چیزی که گفتین رو منم وارد کردم

من میخوام برای فوتر یه متن و برای هدر یه لوگو و.. بزارم

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

ببینید این کل کد پنلمه

option.rar

0

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


لینک به پست

وارد همون نشانی بشید و از طریق نمایش - ویرایش کدهای فایل functions.php را کپی کنید و ببینید کل کدهای بکار رفته همون هاست یعنی قالب فعلی سایت کلا 4 تا فایل بیشتر نیست و هیچ ابزار جانبی ای هم نداره فقط همون آپلودر را برای نمایش به شما روش گذاشتم

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

2

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


لینک به پست

متاسفانه وقتی داخل کدهای پنل مدیریت میزارم غیر فعال میشه حال آپلودش

انگاری اون موقع کدهای جاوا رو لود نمیکنه

فکر کنم وردپرس با اینکلود کردن چند فایل در یک فایل مشکل داره

چون وقتی هم که دو فایل رو در فانکشن اینکلود مکنم تصویر شاخص نوشته غیرفعال میشه نمیتنم آپلود کنم


require( get_template_directory() . '/widgets/abut-widget.php' );
require( get_template_directory() . '/option/control.php' );

0

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


لینک به پست

رو وردپرس مشکل نگذارید وردپرس با اینکلود صدتا فایل هم مشکلی نداره

مشکل اینه که شما باید ترتیب کدها را بشناسید در جاوا اسکریپت و سی اس اس ترتیب کدها در اجرا موثره

0

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


لینک به پست

خب من در این مورد نمیدونستم

الان دقیقا من وقتی یکی از دو فایل رو حذف می کنم قسمت آپلود تصاویر شاخص درست میشه

چطوری باید ترتیبشون رو درست کنم؟

من در این مورد هیچی نمیدونم

0

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


لینک به پست

باید کل کدهاشون خونده بشه ولی برای اطمینان به این صورت هم امتحان کنید


require( get_template_directory() . '/option/control.php' );
require( get_template_directory() . '/widgets/abut-widget.php' );

اگر نشد

از برگه تنظیمات قالب سورس کد بگیرید و پیام خصوصی کنید شاید بشه ترتیبشون رو فهمید

1

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


لینک به پست

الان تنظیمات قالبتون اصلا کار می کنه؟ یعنی چیزی رو ذخیره می کنه چون به نظرذم اکشن درستی در تنظیمات ندارید اصلا

1

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


لینک به پست

بله کد ها رو همونطور جابجا کردم و حتی در هدر سایت فایل جی کوئری اصلی رو فراخوانی کردم تا جلوتر از همه بیادش

تنظیمات قالب هم ذخیره میشه و خروجی درستی هم میده و روی سایت به درستی نشون میده

براتون ارسال میکنم چند دقیقه دیگه

0

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


لینک به پست

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

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

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

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


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

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

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


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