رفتن به مطلب

مشکل در استفاده از ابزراک


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

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


class icomp_sentences extends WP_Widget {
function icomp_sentences() {
$widget_ops = array( 'classname' => 'icompsentences', 'description' => 'جمله روز' );
$control_ops = array( 'width' => 250, 'height' => 300, 'id_base' => 'wp-icomp_sentences' );
$this->WP_Widget( 'wp-icomp_sentences','جمله روز', $widget_ops, $control_ops );
}
function widget( $args, $instance ) {
extract( $args );
$title = apply_filters('widget_title', $instance['title'] );
$sent = $instance['sent'];
$sentauth = $instance['sentauth'];

echo $before_widget;
if ( $title )
echo $before_title . $title . $after_title;
echo "<p>".$sent. "<br /><small style='text-align:left;float:left'>(". $sentauth. ")</small>" ;
echo "</p>\n";
echo $after_widget;
}

//بروزرسانی اطلاعات
function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance['title'] = strip_tags( $new_instance['title'] );
$instance['sent']= strip_tags( $new_instance['sent']);
$instance['sentauth']= strip_tags( $new_instance['sentauth']);
return $instance;
}
function form( $instance ) {
//نصب فیلدهای ابزارک
$defaults = array(
'title' => 'جمله روز',
'sent' => 'جمله' ,
'sentauth' => 'صاحب جمله' ,
);
$instance = wp_parse_args( (array) $instance, $defaults ); ?>
<p>
<label for="<?php echo $this->get_field_id( 'title' ); ?>">عنوان</label>
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" >
</p>
<p>
<label for="<?php echo $this->get_field_id( 'sent' ); ?>">جمله</label>
<textarea id="<?php echo $this->get_field_id( 'sent' ); ?>" name="<?php echo $this->get_field_name( 'sent' ); ?>" style="width:100%;"><?php echo $instance['sent']; ?></textarea>
</p>
<p>
<label for="<?php echo $this->get_field_id( 'sentauth' ); ?>">صاحب جمله</label>
<input class="widefat" id="<?php echo $this->get_field_id( 'sentauth' ); ?>" name="<?php echo $this->get_field_name( 'sentauth' ); ?>" value="<?php echo $instance['sentauth']; ?>" style="width:100%;">
</p><br />
<small style="float:left"><a href="http://icomp.ir" target=_blank style="text-decoration:none">هدیه ای از طرف آی کامپ</a></small>
<?php
}
}
add_action( 'widgets_init', 'icomp_sentences' );
function icomp_sentences() {
register_widget( 'icomp_sentences' );
}

این جایگاهش :


/**************جایگاه نمایش***********/
if ( function_exists('register_sidebar') )
register_sidebar(array(
'name' => 'offer',
'description' => 'قسمت اول',
'before_widget' => '<div class="post">',
'after_widget' => '</div></div><div class="fot"></div></div>',
'before_title' => '<div class="tit"><div class="txt">',
'after_title' => '</div></div><div class="bg"><div class="main">',
));

حالا میخوام کاری کنم که 3 تا پارامتری که ایجاد میشه

جای : (لینک ) و ( تب اول ) و ( لینک عکس ) بشینه ، حالا چجوری باید کدهارو تغیی داد ؟


<article id='sliderr'>
<header>
<ul class='tabs'>
<li><a href='#' class='tabItem>تب اول</a></li>
</ul>
</header>
<div class='slides center'>
<a href='لینک'>
<img src='لینک عکس' class='slideItem'></a>
</article>

ممنون پیشاپیش

لینک به ارسال

آقا مشکل قبلی رو حل کردم

حالا 2 تا مشکل دیگه دارم

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

چطوری تغییر بدم داخل کدهاش ؟

لینک به ارسال

آقا مشکل ارسال #2 هم حل شد

حالا آخرین مشکلم :

خروجی ابزارک تو سایت اینه :


<article id="sliderr"><header><ul class="tabs"><li><a class="tabItem current" href="#">TEST</a></li></ul></header><div class="slides center"><a class="tabItem" href="#"> </a><a href="LINK-URL"><img class="slideItem" src="LINK" style="display: inline;"></a> </div><a class="backward hidden" href="#" style="display: none;"></a><a class="forward hidden" href="#" style="display: none;"></a> </article>

وقتی 2 بار ابزارک رو میکشم جایی که میخوام خروجی میشه این :


<article id="sliderr"><header><ul class="tabs"><li><a class="tabItem current" href="#">TEST</a></li></ul></header><div class="slides center"><a class="tabItem" href="#"> </a><a href="LINK-URL"><img class="slideItem" src="LINK" style="display: inline;"></a> </div><a class="backward hidden" href="#" style="display: none;"></a><a class="forward hidden" href="#" style="display: none;"></a> </article>

article id="sliderr"><header><ul class="tabs"><li><a class="tabItem current" href="#">TEST2</a></li></ul></header><div class="slides center"><a class="tabItem" href="#"> </a><a href="LINK-URL2"><img class="slideItem" src="LINK2" style="display: inline;"></a> </div><a class="backward hidden" href="#" style="display: none;"></a><a class="forward hidden" href="#" style="display: none;"></a> </article>

حالا من میخوام خروجی به این صورت بشه :


<article id="sliderr"><header><ul class="tabs"><li><a class="tabItem current" href="#">TEST</a></li>
<li><a class="tabItem current" href="#">TEST2</a></li></ul></header><div class="slides center"><a class="tabItem" href="#"> </a><a href="LINK-URL"><img class="slideItem" src="LINK" style="display: inline;"></a>
</a><a href="LINK-URL2"><img class="slideItem" src="LINK2" style="display: inline;"></a> </div><a class="backward hidden" href="#" style="display: none;"></a><a class="forward hidden" href="#" style="display: none;"></a> </article>

فکر کنم برای کسی که به PHP مسلط باشه آسون باشه

منتظر پاسخم

ممنون

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

سلام. اگر مشکلات قبلی تون برطرف شده ، برای حل این مشکل آخری باید کدهایی رو که استفاده کردید در توابع قرار بدید :)

لینک به ارسال

خب بنده هم تو توابع قرار دادم

ولی وقتی 2 بار اون ابزارک رو درگ میکنم تو جایگاهی که براش ساختم ( ارسال 3 رو ببینید کدهای دوم ) به این شکل خروجی میده در سایت

ولی من میخوام این شکلی خروجی بده :


<article id="sliderr"><header><ul class="tabs"><li><a class="tabItem current" href="#">TEST</a></li>
<li><a class="tabItem current" href="#">TEST2</a></li></ul></header><div class="slides center"><a class="tabItem" href="#"> </a><a href="LINK-URL"><img class="slideItem" src="LINK" style="display: inline;"></a>
</a><a href="LINK-URL2"><img class="slideItem" src="LINK2" style="display: inline;"></a> </div><a class="backward hidden" href="#" style="display: none;"></a><a class="forward hidden" href="#" style="display: none;"></a> </article>

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

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

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

اول باید یک سایدبار به عنوان holder اسلایدر بسازید و بعد ابزارک هاتون رو به اون منتقل کنید و کدهای parent را در کدهای سایدباری که ساختید اعمال کنید که دو تا article و header نسازه

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

لینک به ارسال

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

اول باید یک سایدبار به عنوان holder اسلایدر بسازید و بعد ابزارک هاتون رو به اون منتقل کنید و کدهای parent را در کدهای سایدباری که ساختید اعمال کنید که دو تا article و header نسازه

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

بله میخوام اسلایدر بسازم باهاش

ممنون میشم بیشتر توضیح بدید

والا اسمشونو که اسپم نمیشد گذاشت چونکه مواردی که در هر ارسال حل میشد رو کناز میذاشتم و مشکل بعدی رو در همین تایپیک میفرستادم

لینک به ارسال

اسمشون اسپمه

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

لینک به ارسال

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

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

موفق باشید

لینک به ارسال

فرض کنیم اسلایدر شما در html به این شکل باید باشه


<div id="sliderInner">
<div class="slides">
<div class="slide">
<h3>عنوان اسلاید</h3>
<p>متن اسلاید </p>
</div>
<div class="slide">
<h3>عنوان اسلاید</h3>
<p>متن اسلاید </p>
</div>
<div class="slide">
<h3>عنوان اسلاید</h3>
<p>متن اسلاید </p>
</div>
<div class="slide">
<h3>عنوان اسلاید</h3>
<p>متن اسلاید </p>
</div>
<div class="slide">
<h3>عنوان اسلاید</h3>
<p>متن اسلاید </p>
</div>
</div>
</div>

شما باید یک ستون کناری ریجستری کنی


if ( function_exists('register_sidebar') )
register_sidebar(array(
'name' => 'slides',
'description' => 'اسلایدر',
'before_widget' => '<div class="slide">',
'after_widget' => '</div>',
'before_title' => '<h3>',
'after_title' => '</h3>',
));

و یک صفحه ایجاد کنید مثلا به نام slider.php

با کدهای


<div id="sliderInner">
<div class="slides">
<?php if ( ! dynamic_sidebar( 'slides' ) ); ?>
</div>
</div>

و

این کد را در محل نمایش بگذارید


<?php include (TEMPLATEPATH . '/slider.php'); ?>

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

لینک به ارسال

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

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

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

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

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

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

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

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

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