چطور میشه ابزارک رو این شکلی کرد؟

kootlas

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

attachment.php


You must be registered for see images attach


 

Acrobat

کاربر عضو
میشه یه بلاک جدا (غیر از محدوده ی ابزارک ها) در سایدبار سایتتون گذاشت. به راحتی!

 

kootlas

کاربر عضو
زیر دیپلم صحبت کن داداش

:38:

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

 

MahdiY

راهبر انجمن
دوست عزیز با عرض معذرت بلد نیستید الزامی نیست راهنمایی غلط بکنید :-??

با فایرفاکس مراجعه کنید به سایت مورد نظر

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

بعد کد هاشو میبینید

این کار با css و html و یه دونه عکس انجام شده نه paint!

 

kootlas

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


کد:
#sidebar { float: left; width: 238px; padding-left: 2px; margin-top:-6px; }    #sidebar a { color: #807f7f; text-shadow: 1px 1px 1px #ffffff; }
        #sidebar a:hover { color: #505050; text-decoration: none; }


    #sidebar .widget { background: url(images/widget-bottom.png) repeat-x bottom left; padding: 0px 0px 2px; }
        #sidebar h4.widgettitle { color: #5f5e5e; font-family:B Nazanin; font-size: 20px; text-transform: lowercase; letter-spacing: -1px; background: url(images/widget-title.png) no-repeat bottom left; padding: 14px 25px 11px 5px; text-shadow: 1px 1px 0px #ffffff; }


        #sidebar .widget-content { padding: 10px 25px 10px 10px; }
            #sidebar .widget ul ul { margin:0 0 0 15px; }
            #sidebar .widget ul li { background:url("http://forum.persianscript.ir/images/list-icon.png") no-repeat scroll 196px 15px transparent; padding: 7px 10px 7px 13px; }
            #sidebar .widget ul li ul { margin:0 0 -12px; padding:5px 0 0 7px; }
و این هم کد استایل اون حاشیه قرمز و سفید:


کد:
            .border {    background: url(images/hwp_NewsLTR_Pattern.jpg) left center;
    border-radius: 5px;
    padding: 5px;
    float: right
}
اون تصویر pattern رو هم با همون آدرس تو قالبم ذخیره کردم، کلاس border هم برای اون ویجتی که مسخواستم تعریف کردم الآن چیکار کنم؟ هر طوری اون دو تا کد بالایی رو ادغام میکنم بازم به جای اینکه اون تصویر pattern رو به صورت کادر در بیاره تبدیل به هایلایت نوشته داخل ویجت میشه!

 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
اولا جای درستی تاپیک نزدینا :|

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

یا اینکه

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

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

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

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

ولی بهر حال کد زیر رو تو فانکشنت بریزی یک فیلد برای هر ابزارکت اضافه میشه که میتونی به هر ابزارکت کلاس جداگانه دلخواه بدی :


کد:
function kc_widget_form_extend( $instance, $widget ) {
    if ( !isset($instance['classes']) )
        $instance['classes'] = null;
    $row = "<p>\n";
    $row .= "\t<label for='widget-{$widget->id_base}-{$widget->number}-classes'>Additional Classes <small>(separate with spaces)</small></label>\n";
    $row .= "\t<input type='text' name='widget-{$widget->id_base}[{$widget->number}][classes]' id='widget-{$widget->id_base}-{$widget->number}-classes' class='widefat' value='{$instance['classes']}'/>\n";
    $row .= "</p>\n";
    echo $row;
    return $instance;
}
add_filter('widget_form_callback', 'kc_widget_form_extend', 10, 2);
function kc_widget_update( $instance, $new_instance ) {
    $instance['classes'] = $new_instance['classes'];
    return $instance;
}
add_filter( 'widget_update_callback', 'kc_widget_update', 10, 2 );
function kc_dynamic_sidebar_params( $params ) {
    global $wp_registered_widgets;
    $widget_id    = $params[0]['widget_id'];
    $widget_obj    = $wp_registered_widgets[$widget_id];
    $widget_opt    = get_option($widget_obj['callback'][0]->option_name);
    $widget_num    = $widget_obj['params'][0]['number'];
    if ( isset($widget_opt[$widget_num]['classes']) && !empty($widget_opt[$widget_num]['classes']) )
        $params[0]['before_widget'] = preg_replace( '/class="/', "class=\"{$widget_opt[$widget_num]['classes']} ", $params[0]['before_widget'], 1 );
    return $params;
}
add_filter( 'dynamic_sidebar_params', 'kc_dynamic_sidebar_params' );
به صورت زیر :

attachment.php


You must be registered for see images attach


 
آخرین ویرایش توسط مدیر:

hosein71

تازه وارد
ابزارک هایی هستند که داخلشون میشه کد html یا متن اضافی گذاشت. اونجا می تونید با css براش بک گراند بذارید تا به این شکل در بیاد.

 

MahdiY

راهبر انجمن
دوست عزیز با عرض معذرت بلد نیستید الزامی نیست راهنمایی غلط بکنید :-?? با فایرفاکس مراجعه کنید به سایت مورد نظر

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

بعد کد هاشو میبینید

این کار با css و html و یه دونه عکس انجام شده نه paint!
دوستان برداشت غلط نکنید یهو

یه پست اسپم بود من جوابشو دادم

و احیانا منظورم نبود

همچنین انتقال یافت به انجمن پرسش و پاسخ ...

 

kootlas

کاربر عضو
اولا جای درستی تاپیک نزدینا :|الان گیر شما اینه که استایلتون اون شکلی بشه ؟

یا اینکه

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

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

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

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

ولی بهر حال کد زیر رو تو فانکشنت بریزی یک فیلد برای هر ابزارکت اضافه میشه که میتونی به هر ابزارکت کلاس جداگانه دلخواه بدی :


کد:
function kc_widget_form_extend( $instance, $widget ) {
    if ( !isset($instance['classes']) )
        $instance['classes'] = null;
    $row = "<p>\n";
    $row .= "\t<label for='widget-{$widget->id_base}-{$widget->number}-classes'>Additional Classes <small>(separate with spaces)</small></label>\n";
    $row .= "\t<input type='text' name='widget-{$widget->id_base}[{$widget->number}][classes]' id='widget-{$widget->id_base}-{$widget->number}-classes' class='widefat' value='{$instance['classes']}'/>\n";
    $row .= "</p>\n";
    echo $row;
    return $instance;
}
add_filter('widget_form_callback', 'kc_widget_form_extend', 10, 2);
function kc_widget_update( $instance, $new_instance ) {
    $instance['classes'] = $new_instance['classes'];
    return $instance;
}
add_filter( 'widget_update_callback', 'kc_widget_update', 10, 2 );
function kc_dynamic_sidebar_params( $params ) {
    global $wp_registered_widgets;
    $widget_id    = $params[0]['widget_id'];
    $widget_obj    = $wp_registered_widgets[$widget_id];
    $widget_opt    = get_option($widget_obj['callback'][0]->option_name);
    $widget_num    = $widget_obj['params'][0]['number'];
    if ( isset($widget_opt[$widget_num]['classes']) && !empty($widget_opt[$widget_num]['classes']) )
        $params[0]['before_widget'] = preg_replace( '/class="/', "class=\"{$widget_opt[$widget_num]['classes']} ", $params[0]['before_widget'], 1 );
    return $params;
}
add_filter( 'dynamic_sidebar_params', 'kc_dynamic_sidebar_params' );
به صورت زیر :

attachment.php
این کد که شما فرمودید باید بریزم تو فانکشن قالب یا فانکشن وردپرس؟

من منظورم فقط یک ابزارک هست

آره تصویر پترن رو هم دقیقاً توی همون آدرس تو هاستم ریختم و مشکلی از این بابت نیست

حالا بعد از اینکه اون فیلد جدید به ابزارک ها اضافه شد، با فرض اینکه تصویر پترن توی آدرس images/hwp_NewsLTR_Pattern.jpg هاست باشه، چه کدی رو وارد کنم تا ویجتم این شکلی بشه؟

 

hannanstd.ir

مدیر انجمن و توسعه دهنده ووکامرس پارسی
کلا هیچ وقت ما به فانکشن وردپرس دست نمیزنیم چون با آپدیت میپره . تو فانکشن قالب بریزین . اون فیلد جدید یه کلاس به ابزارک موردنظر اضافه میکنه که باید اون پترن رو با استفاده از سی اس اس به اون کلاس یا زیر کلاسش اضافه کنین .

 

kootlas

کاربر عضو
کلا هیچ وقت ما به فانکشن وردپرس دست نمیزنیم چون با آپدیت میپره . تو فانکشن قالب بریزین . اون فیلد جدید یه کلاس به ابزارک موردنظر اضافه میکنه که باید اون پترن رو با استفاده از سی اس اس به اون کلاس یا زیر کلاسش اضافه کنین .
خب کد رو کپی کردم و اون فیلد جدید اضافه شد.

اما نمیدونم چطوری باید اون پترن رو با css اضافه کنم

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


کد:
.border { background: url(images/hwp_NewsLTR_Pattern.jpg) left center; border-radius: 5px; padding: 5px; float: right }
اما وقتی با آدرس دقیق اون پترن میذارمش تو اون فیلد جدید، هیچ اتفاق خاصی نمیفته.

 

hannanstd.ir

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

خب حالا کلاس border به اون ابزارک ایجاد میشه . حالا میری تو استایل قالبت از طریق کد زیر بهش استایل میدی دیگه .


کد:
.boreder {}
لینک سایتتو بزار و عکس اون قسمت سایتت که باید اون شکلی بشه .

 
بالا