رفتن به مطلب

hbsoft

عضو سایت
  • تعداد ارسال‌ها

    27
  • تاریخ عضویت

  • آخرین بازدید

نوشته‌ها ارسال شده توسط hbsoft

  1. با سلام
    دوستان من دارم یه پلاگین مینویسم که یک صفحه ثبت سفارش داره، این صفحه ثبت ۲۰ تا کومبوباکس داره و هر کدوم از این کومبو باکس ها اطلاعات مربوط به یک دسته خاصی رو لود می کنه، با انتخاب هر کدوم از کومبو باکس ها یک محصول از محصولاتی که تو ووکامرس ثبت شده لود میشه، حالا هر وقت کاربر تو هرکدوم از کومبوباکس ها یه محصول رو انتخاب می کنه من مبلغ محصول رو با ajax میگیرم و گوشه صفحه نشون میدم، در نهایت کاربر با انتخاب کومبوباکس ها ۲۰ محصول رو انتخاب می کنه و مبلغ اینها با هم جمع میشه. حالا سوال من اینه میشه من این محصولات و مبلغ کلی رو به صفحه پرداخت ووکامرس پاس بدم و با صفحه پرداخت ووکامرس مبلغ پرداخت بشه و این اطلاعات تو بخش سفارشات ثبت بشه؟

    اگه این امکان هست و میشه این کارو کرد ممنون میشم راهنمایی کنید!

  2. با عرض سلام و خسته نباشید

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

    کدها به شکل زیرن

    function tutsplus_load_jquery_datepicker() {
      wp_enqueue_script( 'jquery-ui-datepicker' );
      wp_enqueue_style( 'jquery-style', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css' );
    }
    add_action( 'admin_enqueue_scripts', 'tutsplus_load_jquery_datepicker' );
    
    add_action( 'add_meta_boxes', 'add_expiry_date_metabox' );
    function add_expiry_date_metabox()
    {
      add_meta_box(
          'expiry_date_metabox',
          'تاریخ انقضا نمایش تور',
          'expiry_date_metabox_callback',
          'post',
          'side',
          'high' );
    }
    
    function expiry_date_metabox_callback( $post ) { ?>
        <form action="" method="post">
            <?php
            // add nonce for security
            wp_nonce_field( 'expiry_date_metabox_nonce', 'nonce' );
            //retrieve metadata value if it exists
            $expiry_date = get_post_meta( $post->ID, 'expires', true );
            ?>
            <br>
            <?php echo date('d-m-Y');
            
            ?>
            <input
              type="text"
              class="MyDate"
              name="expiry_date"
              value=<?php echo esc_attr( $expiry_date ); ?> / >
              <script type="text/javascript">
             jQuery(document).ready(function() {
                 jQuery('.MyDate').datepicker({
                     dateFormat : 'dd-mm-yy'
                 });
             });
         </script>
        </form>
    
    <?php }
    
    function save_expiry_date_meta( $post_id ) {
    
        // Check if the current user has permission to edit the post. */
        if ( !current_user_can( 'edit_post', $post->ID ) )
        return;
    
        if ( isset( $_POST['expiry_date'] ) ) {
            $new_expiry_date = ( $_POST['expiry_date'] );
            update_post_meta( $post_id, 'expires', $new_expiry_date );
        }
    
    }
    add_action( 'save_post', 'save_expiry_date_meta' );
    
    
    function filter_expired_posts( $query ) {
    
        // doesn't affect admin screens
        if ( is_admin() )
            return;
        // check for main query
        if ( $query->is_main_query() ) {
    
            //filter out expired posts
            $today = date('d-m-Y');
            $metaquery = array(
                array(
                     'key' => 'expires',
                     'value' => $today,
                     'compare' => '<',
                     'type' => 'DATE',
                )
            );
            $query->set( 'meta_query', $metaquery );
        }
    }
    add_action( 'pre_get_posts', 'filter_expired_posts' );

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

    می تونم کاری بکنم که برگه ها رو نادیده بگیره با تابع زیر

    if(is_page())
    return;

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

    لطفا کمکم کنین

  3. سلام

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

    $cat_name = 'خراسان';
    $parent_city_id = get_cat_ID($cat_name);
    $args = array(
    'hide_empty' => 0,
    'show_option_none' => '- انتخاب -',
    'hide_if_empty' => false,
    'id' => 'city_id',
    'class' => 'select-city-class',
    'name' => 'cat',
    'taxonomy' => 'category',
    'child_of' => $parent_city_id
    );
    wp_dropdown_categories($args);

    البته من اینجا taxonomy رو فرض کردم category‌ هست.

  4. در 2 ساعت قبل، a_mogheimi گفته است :

    شما یه کلاس php رو گذاشتی اینجا توقع دارید ما خطای کدهای وردپرسی شما رو  تشخیص بدیم ؟

    حداقل کد هایی که مربوط به وردپرس هست رو میذاشتید تا بشه بررسی کرد.

     

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

    include("TEMPLATEPATH ./nusoap.php");

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

  5. عرض سلام و خسته نباشید

    دوستان لطفا کمک کنین از صبح درگیرم نمی تونم حلش کنم :(

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

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

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

    دوستان لطفا راهنمایی کنین.

    <?php
    
    include("nusoap.php");
    
    class hbsoft_mellat_class
    {
        private $client;
        private $namespace;
        private $terminalId;
        private $userName;
        private $userPassword;
        private $orderId;
        private $amount;
        private $localDate;
        private $localTime;
        private $additionalData;
        private $callBackUrl;
        private $payerId;
    
    
        public function __construct()
        {
    
            $this->namespace = 'http://interfaces.core.sw.bps.com/';
            $this->terminalId = 'xxx';
            $this->userName = 'xxx';
            $this->userPassword = 'xxx';
    
    
        }//construct
    
    
        public function bpPay($mablagh)
        {
    
    
            $this->client = new nusoap_client('https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl');
            $this->orderId = time();
            $this->localDate = date('Ymd');
            $this->localTime = date('His');
            $this->additionalData = '';
            $this->callBackUrl = 'http://siram.ir/mellat/test2.php';
            $this->payerId = 0;
    
            $params = array(
                'terminalId' => $this->terminalId,
                'userName' => $this->userName,
                'userPassword' => $this->userPassword,
                'orderId' => $this->orderId,
                'amount' => $mablagh,
                'localDate' => $this->localDate,
                'localTime' => $this->localTime,
                'additionalData' => $this->additionalData,
                'callBackUrl' => $this->callBackUrl,
                'payerId' => $this->payerId
            );
    
            $res = $this->client->call('bpPayRequest', $params, $this->namespace);
            $result = explode(',', $res);
            if ($result[0] == 0) {
                echo 'okey';
            }//if
            else {
                echo 'no';
            }
    
            //var_dump($res);
    
    
        }//bpPay
    
    
    }//mellat

     

  6. با عرض سلام و خسته نباشید

    دوستان من میخوام بین برگه هایی که دارم session ست کنم و درون برگه های دیگه ای که دارم این session رو چک کنم. 

    if ($_REQUEST["day_price_tour"] <= 0) {
                        ?>
                        <br>
                        <div class="alert alert-danger tour-show-title-page">
                            <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
                            <strong>فیلد روز نمی تواند صفر و یا کوچکتر از صفر باشد.</strong>
                        </div>
                        <?php
    
                    } else {
    
                        $_SESSION["international-tour-day"] = $_REQUEST["day_price_tour"];
                        $_SESSION["international-tour-price"] = $_REQUEST["final_price"];
    
    
                        $page = get_page_by_title('ثبت تور خارجی');
    
                        echo "<script>window.location='" . get_permalink($page->ID) . "'</script>";
                        exit;
    
    
                    }

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

    if (isset($_SESSION["international-tour-day"]))
                {
                    echo $_SESSION["international-tour-day"];
                }
                else{
                    echo "no set";
                }

    لطفا راهنمایی کنین.

    با تشکر

  7. سلام دوستان خسته نباشید

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

    if (isset($_POST["international-tour"]))
    {
    
      $page = get_page_by_title('محاسبه هزینه تور خارجی');
    
      wp_redirect(get_permalink($page->ID));
      exit;
    
    }

    از تابع بالا استفاده کردم وقتی روی دکمه سابمیت میزنم صفحه رفرش میشه محتوای پیج پاک میشه ولی توی پیج جاری میمونه $page رو var_dump میگیرم ارایه رو درست نشون میده ولی نمی دونم چرا wp_redirect کار نمی کنه.

    لطفا راهنمایی کنین خیلی ضروریه :(

  8. function add_pages()
            {
                $content = "[shortcode]";
                $postTitle = 'حسین تور';
                global $wpdb;
    
                $query = $wpdb->prepare(
                    'SELECT ID FROM ' . $wpdb->posts . '
                WHERE post_title = %s
                AND post_type = \'page\'',
                    $postTitle
                );
                $wpdb->query($query);
    
                if ($wpdb->num_rows) {
                    // Title already exists
                } else {
                    $page = array(
                        'post_title' => 'حسین تور',
                        'post_content' => $content,
                        'post_status' => 'publish',
                        'post_author' => 1,
                        'post_type' => 'page',
                        'post_parent' => 0,
                    );
    
    
                    $insert_id = wp_insert_post($page);
    
                }
            }
    
            add_action('after_setup_theme', 'add_pages');

    این درست تره :P

  9. function create_register_international_tour()
            {
                $PageGuid = site_url() . "/register-tour";
                $my_post  = array( 'post_title'     => 'register tour',
                    'post_type'      => 'page',
                    'post_name'      => 'my-page',
                    'post_content'   => '[my_shortcode]',
                    'post_status'    => 'publish',
                    'comment_status' => 'closed',
                    'ping_status'    => 'closed',
                    'post_author'    => 1,
                    'menu_order'     => 0,
                    'guid'           => $PageGuid );
    
                $PageID = wp_insert_post( $my_post, FALSE );
            }
    
            add_action( 'after_setup_theme', 'create_register_international_tour' );

    خودم پیداش کردم.

  10. با عرض سلام و خسته نباشید خدمت اساتید عزیز

    دوستان من تو پلاگینی که نوشتم نیاز دارم چند برگه داشته باشم که تو هر برگه از شورت کدهایی که نوشتم استفاده کنم و میخوام زمانی که register_activation_hook اجرا میشه چندین برگه رو با کد ایجاد کنم و به صورت پیش فرض پس از نصب هم شورت کد مورد نظر درون برگه قرار بگیره. مثلا افزونه edd که به با نصب پلاگین خودش برگه میسازه و درون برگه ها شورت کد قرار میده.

    پیشاپیش تشکر از راهنمایی ها

    ممنون

  11.  

    سلام دوستان

    من دارم یه پلاگین مینویسم که توش از wp_editor استفاده کردم چطوری می تونیم اتریبیوت name و id رو واسش ست کنم و اینکه چطوری میتونم به دیتایی که توش وارد میشه دسترسی پیدا کنم؟

    کدها

    <?php
    
    $content = '';
    $editor_id = 'editpost';
    $settings = array(
      'wpautop' => false,
      'media_buttons' => false,
      'textarea_name' => 'result_description',
      'textarea_rows' => 8,
      'quicktags' => false
    );
    
    wp_editor($content, $editor_id, $settings);
    
    ?>

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

    $content = $_POST['editpost'];

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

    لطفا راهنمایی کنین. 

    با تشکر

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

    Screenshot from 2016-07-15 22:07:03.png

  12. با عرض سلام و خسته نباشید خدمت دوستان

    من بایستی واسه پلاگین wp-user-frontend درگاه بانک ملت رو فعال کنم و برای این کار بایستی افزونه بانک ملت نوشته بشه

    تو سایت هایی که با php مینویسم با درگاه های بانک ملت کار کردم مشکلی ندارم باهاشون ولی برای نوشتن افزونه ای که با wp-user-frontend سازگار بشه مشکل دارم و نمی دونم بایستی از کجا و چطور شروع کنم به نوشتن 

    لطفا اگه کسی می دونه راهنمایی کنه.

     با تشکر

  13. لابد سایدبارت داینامیک نیست و از سایدبار استاتیک استفاده می کنی

    کد سایدبار داینامیک:

    یه صفحه جدید از نوع php باز کن و کدهای زیر رو توش کپی کن و سیو کن.

    <div class="widget-area">
    <?php if ( ! dynamic_sidebar( 'Sidebar Widgets' ) ) : ?>
    <aside id="search" class="widget">
    <?php get_search_form(); ?>
    </aside>
    <aside id="archives" class="widget">
    <h3 class="widget-title">Archives</h3>
    <ul>
    <?php wp_get_archives('type=monthly&limit=12'); ?>
    </ul>
    </aside>
    <?php endif; // end sidebar widget area ?>
    </div>

    بعد از اینکه صفحه ی سایدبار رو درست کردی کد زیر رو تو فانکشنت کپی کن.

     // Register sidebar
    if (function_exists('register_sidebar')) {
    register_sidebar(array(
    'name' => 'سایدبار',
    'id' => 'sidebar-widgets',
    'description' => 'این سایدبار برای افزونه ها می باشد.',
    'before_widget' => '<aside id="%1$s" class="widget %2$s">',
    'after_widget' => '</aside>',
    'before_title' => '<h3>',
    'after_title' => '</h3>'
    ));
    }

    و در مرحله آخر بایستی تو صفحه ایندکست بعد از تگ content کد زیر رو بزنی

    <?php get_sidebar(); ?>

    یکم طولانی بود ولی اگه اینکار رو انجام بدی واسه همیشه یه سایدبار داینامیک داری

    موفق باشی

    ;)

    • امتیاز 1
  14. برای این کار بایستی از تکنیک مدیا کوئیری css استفاده کنی.

    یه طول عرض واسه سایتت مشخص می کنی و میگی وقتی عرض کمتر از فلان عدد شد دیو کلاس ها و یا ای کلاس هایی که می خوای مخفی بشن رو display:none قرار بره.

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

    • امتیاز 1
  15. سلام دوستان

    یکی محبت کنه این چند تا خط کد پایین رو واسم توضیح بده ممنون

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

    <?php
    global $page, $paged;
    wp_title( '|', true, 'right' );
    bloginfo( 'name' );
    $site_description = get_bloginfo( 'description', 'display' );
    if ( $site_description && ( is_home() || is_front_page() ) )
    echo " | $site_description";
    if ( $paged >= 2 || $page >= 2 )
    echo ' | ' . sprintf( __( 'Page %s' ), max( $paged, $page ) );
    ?>

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