رفتن به مطلب

اضافه کردن ابزارک به قالب


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

سلام

خسته نباشین

من میخواستم برای یک قالب ابزارک قرار بدم

آموزشی رو از ماندگار وب خوندم

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

بعد میخواستم داخل فایل

sidebar-right.php

اون کد آخر رو قرار بدم که فایده نداشت!!!

همه این فایل رو پاک کردم اخطار داد!!!

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

بازم فایده نداشت

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

بازم ارور میداد

مشکل از چیه؟

لینک به ارسال

سلام

خطا اینه

Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\wp-content\themes\patoghu\sidebar-right.php on line 67

منظورتون از نوع تعریف چیه؟

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

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

ویرایش شده توسط I..R
لینک به ارسال

منظورتون تو فایل فانکشن هست؟

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

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

لینک به ارسال

آهان

اینم فایل

    <div id="sidebar-right">
<div class="sidebar-right">



<div class="sidebar-box ads">
<h3><span>تبليغات</span></h3>
<div class=sidebar-box-content>
<ul><center>
<a href="<?php bloginfo('url'); ?>/ads/" target="_blank">
<img border="0" src="<?php bloginfo('template_directory'); ?>/ads/120.gif" alt="ads">

</a>
</center></ul>
</div>
<div class=sidebar-box-footer></div></div>



<div class="sidebar-box category">
<h3><span>آرشيو موضوعات</span></h3>
<div class=sidebar-box-content>

<ul>
<li><?php wp_list_cats('sort_column=name'); ?></li>
</ul>

</div>
<div class=sidebar-box-footer></div></div>




<div class="sidebar-box monthly-archive">
<h3><span>لينك دوستان</span></h3>
<div class=sidebar-box-content>
<ul>

<div align=justify dir=rtl></div>
<?php
$bm = get_bookmarks( array(
'orderby' => 'name',
'order' => 'ASC',
'limit' => -1,
'category' => null,
'hide_invisible' => 1,
'show_updated' => 0,
'include' => null,
'exclude' => null,
'search' => '.'));
foreach ($bm as $bookmark){
echo "<li><a rel='nofollow' href='{$bookmark->link_url}' target='_blank'>
{$bookmark->link_name}
</a></li>";
}
?>

<div align=justify dir=rtl></div>

</ul>
</div>
<div class=sidebar-box-footer></div></div>


</div>
</div>
</div>

کجاش باید قرار بدم؟

ممنون

لینک به ارسال

قرار دادن دست خود شماست که در چه مکانی قرار بدید منظور گداشتن کد پس از قرار گیری کد های مورد نظر شما بود.

اگر از این کد برای نمایش ابزارک استفاده کردید و ارور داده :


<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('right-sidebar') ) : ?>

این کد را تست کنید :


<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('right-sidebar') ) : ?>
<?php endif; ?

لینک به ارسال

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


Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\wp-content\themes\patoghu\sidebar-right.php on line 69

و کد دوم رو که میزارم این ارور رو میده


Parse error: syntax error, unexpected '?' in C:\xampp\htdocs\wp-content\themes\patoghu\sidebar-right.php on line 6

لینک به ارسال

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


Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\wp-content\themes\patoghu\sidebar-right.php on line 69

و کد دوم رو که میزارم این ارور رو میده


Parse error: syntax error, unexpected '?' in C:\xampp\htdocs\wp-content\themes\patoghu\sidebar-right.php on line 6

کد آخری که گذاشته شد یک مشکل داشت تست کنید :


<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('right-sidebar') ) : ?>
<? php endif; ?>

لینک به ارسال

تست شد مشکلی نداشت کد ها؛از این کد ها به جای کد های خودتون استفاده نمایید

شما ممکن هست از جای دیگری مشکل داشته باشید برای ایجاد ابزارک در قالب این کد ها را تست کنید :

در function


if(function_exists('register_sidebar')) {
register_sidebar(array(
'name' => 'Right Sidebar',
'description' => __( 'ستون سمت راست'),
'before_widget' => '<div class="block">',
'before_title' => '<h4 class="block-title">',
'after_title' => '</h4> <div class="block-content">',
'after_widget' => '</div></div>'
));

register_sidebar(array(
'name' => 'Left Sidebar',
'description' => __( 'ستون سمت چپ'),
'before_widget' => '<div class="block">',
'before_title' => '<h4 class="block-title">',
'after_title' => '</h4> <div class="block-content">',
'after_widget' => '</div></div>'
));
}

و در برگه یا قالب مورد نظر :


<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('right-sidebar') ) : ?>
<?php endif; ?>

بعد هم به قسمت ابزارک قالب رفته و ابزارک دلخواه را به قسمت Right Sidebar ,بکشید تا فعال شود

لینک به ارسال

فکر کنم کدی که برای قسمت فانکشن دادین مشکل داره

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

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

درسته؟

لینک به ارسال

اگر function کلا ندارید باید به این صورت داخلش قرار بدید :


<?php
if(function_exists('register_sidebar')) {
register_sidebar(array(
'name' => 'Right Sidebar',
'description' => __( 'ستون سمت راست'),
'before_widget' => '<div class="block">',
'before_title' => '<h4 class="block-title">',
'after_title' => '</h4> <div class="block-content">',
'after_widget' => '</div></div>'
));
register_sidebar(array(
'name' => 'Left Sidebar',
'description' => __( 'ستون سمت چپ'),
'before_widget' => '<div class="block">',
'before_title' => '<h4 class="block-title">',
'after_title' => '</h4> <div class="block-content">',
'after_widget' => '</div></div>'
));
}
?>

لینک به ارسال

ممنون

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

یه سوال دیگه هم خدمتتتون داشتم

شما اسم ساید بار راست رو گذاشتین = Right Sidebar

ولی تو کد آخری یعنی


<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('right-sidebar') ) : ?>
<?php endif; ?>

right-sidebar هست اسم اون ساید بار

علت چیه؟

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

عکس از اشکالی که گفتم

post-1053-0-20995500-1391861541_thumb.pn

لینک به ارسال

در حالت صحیح تر این هست اسم را مانند تعریف در function استفاده کنید به این صورت :


<?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Right Sidebar')) : ?>
<?php endif; ?>

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

ویرایش شده توسط I..R
لینک به ارسال

یه چیزایی پیدا کردم

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

بالای کادر بایگانی هم مثل تبلیغات شد

نوشته های "بایگانی" و "اطلاعات" هم درست شد

ولی بالای کادر اطلاعات تغییر نکرده!!!

ولی اون قسمت

در حالت صحیح تر این هست اسم را مانند تعریف در function استفاده کنید به این صورت :


<?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Right Sidebar')) : ?>
<?php endif; ?>

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

منم برام همین عجیب بود

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

و هم حالت قبل؟

مگه اینا به عنوان یک متغیر تعریف نمیشه؟

چجوری با تغییر در اسمش بازم جواب میده؟

بله منظورم استایل دادن هست

کد رو به این صورت تغییر دادم

register_sidebar(array(

'name' => 'Right Sidebar',

'description' => __( 'ستون سمت راست'),

'before_widget' => '<div class="sidebar-box ads"><div class=sidebar-box-content>',

'before_title' => '<h3><span>',

'after_title' => '</span></h3>',

'after_widget' => '<div class=sidebar-box-footer></div></div></div></div>'

));

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

بعدی قسمت بالای بلاک استایل نگرفته

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

فقط با نام تعریف شده برای ابزارک نمایش داده میشه به صورت که آخر کد قرار داده شد باید استفاده کنید

در مورد استایل ها باید تغییراتی داخل استایل بدهید و استایل های تعریف شده برای ابزارک آن مکان.

اگر وب سایت آنلاین هست لینک بگذارید تا راحتر شود راهنمایی کرد.

لینک به ارسال

ممنون

متاسفانه توی لوکال هستش

ممنون میشم راهنمایی کنین

من قسمت پایین هر ابزارک رو تونستم در بیارم

ولی متاسفانه قسمت بالا در نمیاد!!!

یعنی فقط برای یک ابزارک در میاد و برای ابزارک اطلاعات در نمیاد!!!!

مثل تصویر زیر

کدی هم که قرار دادم تو فانکشن اینه


register_sidebar(array(
'name' => 'Right Sidebar',
'description' => __( 'ستون سمت راست'),
'before_widget' => '<div class="sidebar-box ads"><div class="sidebar-box-content">',
'before_title' => '<h3><span>',
'after_title' => '</span></h3>',
'after_widget' => '<div class=sidebar-box-footer></div></div></div></div>'
));

post-1053-0-23058200-1391864624_thumb.pn

لینک به ارسال

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

به مسیر

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

لینک به ارسال

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

به مسیر

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

سلام

ولی من همچین کاری نکردم!!!

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

اما مشکل اینجاست که چجوری به اون استایل بدم!

باتشکر

لینک به ارسال

ابزارکهایی که به صورت دیفالت در قالب بود اگر منظورتون موجوئدی فایل sidebar.php است که نباید دستشون می زدید

و اگر دسترسی دارید اول کد اون بخش را اصلاح کنید و بعد در فایل functions.php عبارت register_sidebar را جستجو کنیدذ تا کدهای ساخت سایدبار را بیابید کدهایی شبیه


register_sidebar(array(
'before_widget' => '<div class="widget">',
'after_widget' => '</div>',
'before_title' => '<h4 class="widgetTitle">',
'after_title' => '</h4>',
));

در کدهای نمونه بالا widget کلاس جعبه اصلی هر ابزارک و widgetTitle کلاس عنوان ابزارکه

فایل style.css را باز کنید و به


.widget { }
h4.widgetTitle { }
.widget ul { }
.widget ul li { }
.widget ul li a { }

استایل بدید

لینک به ارسال

ابزارکهایی که به صورت دیفالت در قالب بود اگر منظورتون موجوئدی فایل sidebar.php است که نباید دستشون می زدید

و اگر دسترسی دارید اول کد اون بخش را اصلاح کنید و بعد در فایل functions.php عبارت register_sidebar را جستجو کنیدذ تا کدهای ساخت سایدبار را بیابید کدهایی شبیه


register_sidebar(array(
'before_widget' => '<div class="widget">',
'after_widget' => '</div>',
'before_title' => '<h4 class="widgetTitle">',
'after_title' => '</h4>',
));

در کدهای نمونه بالا widget کلاس جعبه اصلی هر ابزارک و widgetTitle کلاس عنوان ابزارکه

فایل style.css را باز کنید و به


.widget { }
h4.widgetTitle { }
.widget ul { }
.widget ul li { }
.widget ul li a { }

استایل بدید

نه من منظورم ابزارک هایی بود که در فایل sidebar-left.php و sidebar-right.php هستش بود

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


<div class="sidebar-box ads">
<H3><span>تبليغات</span></H3>
<div class=sidebar-box-content>
<ul>
<center>
<a href="<?php bloginfo('url'); ?>/ads/" target="_blank">
<img border="0" src="<?php bloginfo('template_directory'); ?>/ads/120.gif" alt="ads">
</a>
</center>
</p>
</ul></div>
<div class=sidebar-box-footer></div></div>

که یه مشکلی دارم

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

خب من الان برای اولی میرم توی فانکشن و به after wiget مقدار میدم برای عنوان هم که به after & before title و برای beforewiget هم اون افتر ویجت رو میبندم و همون دیو کلاس فوتر رو میزارم

برای قسمت محتوا بهم میریزه چون قرار ندادمش

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

تقریبا برای ستون چپ همه چی درسته

ولی وقتی برای ستون راست هم اینکار رو میکنم ستون چپ کامل منتقل میشه به سمت راست و زیر محتوا ها قرار میگیره

باید چکار کنم؟

لینک به ارسال

دوست عزیز اگر کاری که عرض شد را انجام دهید تمام اینکارها را خود وردپرس برایتان انجام می دهد

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

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

کاری که شما فرمودین رو انجام دادم و با استفاده از استایل های قدیم که در قالب موجود بود با کمک افزونه firebug موزیلا اومدم بهشون استایل دادم(این قالب از قبل یه چیزایی داشت

مثلا خودش یه تعداد ابزارک رو به صورت پیشفرض داشت.) اومدم با کمک استایل های اونا این رو ویرایش کردم اما یه مشکلی که بود اینه که نمیشد اون قسمت

<div class=sidebar-box-content>

رو توی حالت جدیدی که شما میفرمایین در بیارم

فایل قالب رو ضمیمه کردم تا بهتر متوجه حرفم بشین،فکر کنم منظورمو درست نرسوندم

باتشکر

SM.zip

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...