-
تعداد ارسال ها
9 -
تاریخ عضویت
-
آخرین بازدید
-
روز های برد
5
بنیانگذار و مدیریت کل
ایشان مدیریت کل و عضو ارشد تیم مدیران هستند.
FanaByte آخرین بار در روز خرداد 18 2025 برنده شده
FanaByte یکی از رکورد داران بیشترین تعداد پسند مطالب است !
اطلاعات شخصی
- وبسایت
دستاورد های FanaByte
-
درود بر شما کاربر گرامی مقاله مربوط به موضوع شما در سایت منتظر گردید، لطفا مقاله (افزودن کارمزد درگاه پرداخت به سفارشات ووکامرس + امکان شخصیسازی) مطالعه و روی سایتتون اعمال کنید و نتیجه و به اشتراک بگذارید.
- 3 پاسخ
-
- 1
-
-
درود وقت شما بخیر دوست عزیز این موردی که شما فرمودید و از قبل در دست ساخت داریم و احتمالا امروز انجامش بدیم به صورتی که محدود به درگاه خاصی نباشد و برای همه درگاه ها قابل انجام باشد، پس از تکمیل شدن به صورت یک مقاله در سایت قرار میگیرد و جهت اطلاع شما هم در اینجا لینک مربوطه آن را قرار میدهیم. شاد و پیروز باشید
- 3 پاسخ
-
- 1
-
-
رندوم نمایش دادن نمونه کارها در سایت
FanaByte پاسخی برای Tirdad ارسال کرد در موضوع : سفارشی سازی پوسته
با توجه به توضیحاتی که شما فرمودید ما اصلاحات و انجام دادیم و سایت با همون حالتی که خواستید در حال نمایش میباشد. شما از قالب Fluxus استفاده میکنید که برای این کار با توجه به اینکه نمونه کارهای شما به حالت Grid در حال نمایش است باید به بخش ویرایشگر قالب رفته و template-portfolio-grid.php را ویرایش کنید و کدهای آن را ویرایش کنید. کدهای اصلی قالب مربوط به template-portfolio-grid.php <?php /* Template Name: Grid Portfolio */ $columns = false; $rows = false; $image_sizes = array(); if ( have_posts() ) : if ( is_page() ) { $grid_portfolio = new GridPortfolio( get_the_id() ); // Sets: $orientation, $aspect_ratio, $grid_size, $image_sizes, $image_cropping, $columns, $rows extract( $grid_portfolio->get_options() ); } else { extract( GridPortfolio::grid_options() ); /** * We are on a Project Type page, * thus we need to check if there is any overriden options. * * Sets: $orientation, $aspect_ratio, $grid_size, $image_sizes, $image_cropping $columns, $rows */ extract( fluxus_project_type_grid_options( get_queried_object()->term_id ) ); } $columns = is_numeric( $columns ) ? $columns : 4; $rows = is_numeric( $rows ) ? $rows : 3; fluxus_add_html_class( 'layout-portfolio-grid layout-portfolio-grid-' . $orientation ); if ( $orientation !== 'vertical' ) { fluxus_add_html_class( 'horizontal-page' ); } get_header(); fluxus_query_portfolio( array( 'fluxus-project-type' => get_query_var( 'fluxus-project-type' ) ) ); ?> <div id="main" class="site"> <div class="portfolio-grid js-portfolio-grid" data-aspect-ratio="<?php echo esc_attr( $aspect_ratio ); ?>" data-orientation="<?php echo esc_attr( $orientation ); ?>" data-columns="<?php echo esc_attr( $columns ); ?>" data-rows="<?php echo esc_attr( $rows ); ?>"><?php while ( have_posts() ) : the_post(); $project = new PortfolioProject( get_the_ID() ); $project_media = new ProjectMediaMetaBox( get_the_ID() ); $featured = $project_media->get_featured_item(); if ( ! $featured ) continue; // We have no media on this project, nothing to show. $image = wp_get_attachment_image_src( $featured[ 'attachmentId' ], 'large' ); $image_max = wp_get_attachment_image_src( $featured[ 'attachmentId' ], FLUXUS_HD_IMAGE_SIZE ); if ( isset( $image_sizes[ get_the_ID() ] ) ) { $size = $image_sizes[ get_the_ID() ]; $max_size = $orientation == 'horizontal' ? $rows : $columns; $size = $size > $max_size ? $max_size : $size; } else { $size = 1; } $attr = array( 'class' => "grid-project js-grid-project size-{$size}", 'data-size' => $size, 'data-id' => get_the_ID(), 'data-cropping' => isset( $image_cropping[ get_the_ID() ] ) ? $image_cropping[ get_the_ID() ] : null ); ?> <article <?php echo it_array_to_attributes( $attr ); ?>> <?php $attr = array( 'href' => get_permalink( get_the_ID() ), 'class' => 'grid-project__preview', 'style' => "background-image: url({$image[ 0 ]})", 'data-max-size' => $image_max[ 0 ], ); ?> <a <?php echo it_array_to_attributes( $attr ); ?>> <?php /* Add <img /> tag for SEO and social sharing widgets */ ?> <img class="hide" src="<?php echo esc_url( $image_max[ 0 ] ); ?>" alt="<?php echo esc_attr( get_the_title() ); ?>" /> </a> <h2 class="grid-project__overlay radial-overlay"> <a class="grid-project__inner"><?php if ( $project->meta_subtitle ) : ?> <div class="project-title__prefix project-title__prefix--small"> <?php echo wp_kses_post( $project->meta_subtitle ); ?> </div> <?php endif; ?> <div class="entry-title"><?php the_title(); ?></div> <?php if ( post_password_required() ) : ?> <div class="password-required"> <?php _e( 'Password required', 'fluxus' ); ?> </div> <?php endif; ?> </a> </h2> </article><?php endwhile; ?> </div> </div> <?php else: get_header(); endif; wp_reset_query(); get_footer(); کدهای اصلاح شده مربوط به template-portfolio-grid.php <?php /* Template Name: Grid Portfolio */ $columns = false; $rows = false; $image_sizes = array(); if ( have_posts() ) : if ( is_page() ) { $grid_portfolio = new GridPortfolio( get_the_id() ); // Sets: $orientation, $aspect_ratio, $grid_size, $image_sizes, $image_cropping, $columns, $rows extract( $grid_portfolio->get_options() ); } else { extract( GridPortfolio::grid_options() ); /** * We are on a Project Type page, * thus we need to check if there is any overriden options. * * Sets: $orientation, $aspect_ratio, $grid_size, $image_sizes, $image_cropping $columns, $rows */ extract( fluxus_project_type_grid_options( get_queried_object()->term_id ) ); } $columns = is_numeric( $columns ) ? $columns : 4; $rows = is_numeric( $rows ) ? $rows : 3; fluxus_add_html_class( 'layout-portfolio-grid layout-portfolio-grid-' . $orientation ); if ( $orientation !== 'vertical' ) { fluxus_add_html_class( 'horizontal-page' ); } get_header(); // Initialize query arguments $args = array( 'post_type' => 'fluxus_portfolio', 'orderby' => 'rand', // Random order 'posts_per_page' => -1, // Get all posts ); // If we are on a project type (category) page, filter by the current category if ( is_tax( 'fluxus-project-type' ) ) { $current_term = get_queried_object(); $args['tax_query'] = array( array( 'taxonomy' => 'fluxus-project-type', 'field' => 'term_id', 'terms' => $current_term->term_id, ), ); } // Run the custom query $portfolio_query = new WP_Query( $args ); // Set the global $wp_query to our custom query global $wp_query; $wp_query = $portfolio_query; ?> <div id="main" class="site"> <div class="portfolio-grid js-portfolio-grid" data-aspect-ratio="<?php echo esc_attr( $aspect_ratio ); ?>" data-orientation="<?php echo esc_attr( $orientation ); ?>" data-columns="<?php echo esc_attr( $columns ); ?>" data-rows="<?php echo esc_attr( $rows ); ?>"><?php while ( have_posts() ) : the_post(); $project = new PortfolioProject( get_the_ID() ); $project_media = new ProjectMediaMetaBox( get_the_ID() ); $featured = $project_media->get_featured_item(); if ( ! $featured ) continue; // We have no media on this project, nothing to show. $image = wp_get_attachment_image_src( $featured[ 'attachmentId' ], 'large' ); $image_max = wp_get_attachment_image_src( $featured[ 'attachmentId' ], FLUXUS_HD_IMAGE_SIZE ); if ( isset( $image_sizes[ get_the_ID() ] ) ) { $size = $image_sizes[ get_the_ID() ]; $max_size = $orientation == 'horizontal' ? $rows : $columns; $size = $size > $max_size ? $max_size : $size; } else { $size = 1; } $attr = array( 'class' => "grid-project js-grid-project size-{$size}", 'data-size' => $size, 'data-id' => get_the_ID(), 'data-cropping' => isset( $image_cropping[ get_the_ID() ] ) ? $image_cropping[ get_the_ID() ] : null ); ?> <article <?php echo it_array_to_attributes( $attr ); ?>> <?php $attr = array( 'href' => get_permalink( get_the_ID() ), 'class' => 'grid-project__preview', 'style' => "background-image: url({$image[ 0 ]})", 'data-max-size' => $image_max[ 0 ], ); ?> <a <?php echo it_array_to_attributes( $attr ); ?>> <?php /* Add <img /> tag for SEO and social sharing widgets */ ?> <img class="hide" src="<?php echo esc_url( $image_max[ 0 ] ); ?>" alt="<?php echo esc_attr( get_the_title() ); ?>" /> </a> <h2 class="grid-project__overlay radial-overlay"> <a class="grid-project__inner"><?php if ( $project->meta_subtitle ) : ?> <div class="project-title__prefix project-title__prefix--small"> <?php echo wp_kses_post( $project->meta_subtitle ); ?> </div> <?php endif; ?> <div class="entry-title"><?php the_title(); ?></div> <?php if ( post_password_required() ) : ?> <div class="password-required"> <?php _e( 'Password required', 'fluxus' ); ?> </div> <?php endif; ?> </a> </h2> </article><?php endwhile; ?> </div> </div> <?php else: get_header(); endif; wp_reset_query(); get_footer(); ما تغییرات را روی قالبتون انجام داده ایم و نیازی نیست که مجدد انجام بدید، تنها اگر زمانی قالب سایتتون و آپدیت کردید لازم است که این تغییرات را مجدد اعمال کنید، البته ممکن است که در زمان آپدیت قالب کدهای این صفحه نیز آپدیت شده باشند که با تغییرات مجدد قالب سایت بهم ریخته شود، ولی باید تست کنید چنانچه پس از آپدیت و تغییرات این صفحه مشکلی در سایت ایجاد نشد که خوبه اگر مشکلی ایجاد شد مجدد اطلاع بدید تا بررسی و رفع شود.- 6 پاسخ
-
- 1
-
-
رندوم نمایش دادن نمونه کارها در سایت
FanaByte پاسخی برای Tirdad ارسال کرد در موضوع : سفارشی سازی پوسته
احتراما مشکل شما مورد بررسی قرار میگیرد و به اطلاعاتان میرسانیم فقط یک نکته در صورت رفع مشکل آیا اجازه میدهید کدهای قبل از رفع مشکل و بعد از رفع مشکل در سایت برای عموم به اشتراک گذاشته شود؟ این کار باعث افزایش سطح دانش کاربران دیگر میشود و همواره از این کار حمایت کرده ایم.- 6 پاسخ
-
- 1
-
-
FanaByte عکس نمایه خود را تغییر داد
-
رندوم نمایش دادن نمونه کارها در سایت
FanaByte پاسخی برای Tirdad ارسال کرد در موضوع : سفارشی سازی پوسته
درود وقت شما بخیر کاربر گرامی احتراما دسترسی به پنل مدیریت وردپرس خودتان را ارسال کنید یا کدهای مربوط به بخش نمایش نمونه کارها را بفرستید تا بررسی و مشکل برای شما حل شود.- 6 پاسخ
-
- 1
-
-
با درود و احترام مجدد خدمت شما کاربر گرامی طی بررسی و تست های انجام شده این قطعا کد را کافیه در انتهای فایل functions.php قالب خودتون قرار دهید و تغییرات با توجه به نیازتان انجام میشود. // Percentage SnapPay add_action('woocommerce_cart_calculate_fees', 'custom_payment_gateway_fee', 15, 1); function custom_payment_gateway_fee($cart) { if (is_admin() && !defined('DOING_AJAX')) { return; } // شناسه درگاه پرداخت اسنپپی $chosen_gateway = WC()->session->get('chosen_payment_method'); $target_gateway = 'WC_Gateway_SnappPay'; // بررسی اینکه آیا درگاه پرداخت اسنپپی انتخاب شده است if ($chosen_gateway === $target_gateway) { // درصد اضافهای که میخواهید اضافه کنید (15 درصد) $percentage = 0.15; $surcharge = $cart->subtotal * $percentage; // اضافه کردن مبلغ اضافه به جمع کل $cart->add_fee('هزینه اضافی برای درگاه اسنپپی', $surcharge, true, ''); } } برای تغییر درصد افزایشی تنها کافیست مقدار متغیر $percentage را تغییر دهید به عنوان مثال الان مقدار قرار داده شده برای 15 درصد افزایش مببلغ کل صورت حساب میباشد. شاد و پیروز باشید.
- 4 پاسخ
-
- 2
-
-
درود وقت شما بخیر کاربر عزیز این موضوع و بررسی میکنم و در صورت امکان راهنمایی لازم و برای انجام تغییرات به شما ارائه میدهیم.
- 4 پاسخ
-
- 2
-
-
