• اطلاعیه ها

    • Morteza

      باهم بسازیم: اطلس ووکامرس و وردپرس   14/07/96

      تاپیک ایجاد شده برای بحث در جهت ایجاد یک منبع، ویکی، صفحات توضیحی و یا بخش آموزشی جامع برای وردپرس و متعلقات مختلف آن است. لطفا جهت مشارکت در این بحث، ارائه پیشنهاد و یا انتقاد به تاپیک فوق مراجعه کنید. باهم بسازیم: اطلس ووکامرس و وردپرس

lord_viper

استاد
  • تعداد ارسال ها

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

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

  • Days Won

    16

تمامی ارسال های lord_viper

  1. انجمن وردپرس

    در تکمیل صحبتهای ToranjArts چند افزونه برای این کار وجود داره افزونه زیر فقط کاربرها رو از وردپرس به وی بی منتقل میکنه https://wordpress.org/plugins/vb-user-copy/ و افزونه زیر هم از وردپرس به وی بی و بلعکس رو انجام میده و ظاهرا پولی هستش http://wp-vb-bridge.obscurecloud.com/
  2. بله.این ساده ترین راهش هست
  3. یک وب سرویس جامع وجود داره که اطلاعات همه شرکتهای هوایی از تاریخ مبدا مقصد صندلی خالی رزرو و غیره رو داره
  4. لینک زیر میتونه به شما کمک کنه البته به زبان انگلیسی هست ولی چیزهایی که نیازه رو اموزش میده https://premium.wpmudev.org/blog/wordpress-plugin-development-guide/
  5. میتونین فایلهای js و css بوت استرپ رو هر زمان نیاز دارین هوک کنید به وردپرس function prefix_enqueue() { // JS wp_register_script('prefix_bootstrap', '//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js'); wp_enqueue_script('prefix_bootstrap'); // CSS wp_register_style('prefix_bootstrap', '//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css'); wp_enqueue_style('prefix_bootstrap'); } add_action( 'wp_enqueue_scripts', 'prefix_enqueue'); یا add_action('wp_head','prefix_enqueue'); از هر کدوم از هوکهای wp_head یا wp_enqueue_scripts میتونید استفاده کنید وقتی فایلهای بوت استرپ اینکلاد شد حالا شما میتونین از کلاسهای بوت استرپ تو ویجت خودتون استفاده کنید
  6. شما باید از کد زیر استفاده کنید <?php //قبل از شروع کد ob_start(); ?> //کدهای شما <?php //ذخیره کردن صفحه مورد نظر file_put_contents('yourpage.html', ob_get_contents()); ?> البته اگه وردپرس هست بهتره ob_start رو به wp_head هوک کنین
  7. ظاهرا فایرباگ برای نسخه های جدید فایرفاکس ارتقا داده نمیشه و به firefox developer edition منتقل شده
  8. آدرس صفحات باید دقیقا به همون صورت که ایجاد میشن در آدرس بار تایپ بشن اگه آدرس صفحه شما به صورت mysite.com/albums هست شما به هر صورتی غیر این بنویسید با خطای 404 مواجه میشین مگه اینکه سیستم رو تنظیم کنید که بتونه تشخیص بده مثلا ادرسهای ورودی رو حروف کوچیک بکنه خودکار
  9. شما نیاز به پست تایپ ندارید کافیه یک نقش (role)بنام مشاور تعریف کنید و دسترسیهای مورد نیاز رو بهش بدین(مثلا پلاگین user role) و با استفاده از افزونه های ساخت پروفایل (مثلا پلاگین user pro )فیلدهای دلخواه رو به پروفایل اضافه کنید پلاگین پروفایل زیر رایگان است https://wordpress.org/plugins/profile-builder/
  10. اکثر افزونه های کاربری و پروفایل مثل user pro قابلیت رجیستر و لاگین دارن و یه سری add on برای قابلیتهای خاص برای ارسال پیام خصوصی هم میتونین از افزونه های پیغام خصوصی استفاده کنید https://wordpress.org/plugins/front-end-pm/
  11. اگه فقط دیتابیس خریدین باید با کدنویسی این کار انجام بشه البته میتونین به فروشنده بگین علاوه بر دیتابیس از قسمت برون ریزی یا با استفاده از پلاگینهای importer یک بکاپ از پستها و دسته بندیها بگیرن برای شما ارسال کنن تا شما بتونین تو سایتتون درون ریزی کنید
  12. سوال شما کامل نیست اول اینکه کدتونو اینجا قرار بدید؟ دوم اینکه در کدوم مرحله این پیام خطا رو دریافت میکنید؟ ایا ip شما در بانک ثبت شده وفعال هست؟
  13. این هوک که قرار دادم از هر جای وردپرس وقتی شما یک کاربر اضافه کنید id کاربر رو بعنوان نام کاربر در نظر میگیره وردپرس امکانش رو نداره باید براش کد بنویسید
  14. با وردپرس میخواهید انجام بدید؟ شما باید یک هوک بنویسید که بعد از ایجاد کاربر نام کاربری رو با ایدی عوض کنه add_action( 'user_register', 'myplugin_registration_save', 10, 1 ); function myplugin_registration_save( $user_id ) { wp_update_user( array( 'ID' => $user_id, 'user_login' => $user_id ) ); }
  15. کد شما تقریبا به صورت زیر میشه که باید بسته به نیازتون تغییرش بدید function your_function( $user_login, $user ) { if(is_super_admin($user->ID) and $user->ID==1) wp_mail('example@gmail.com','Suspicious login','','لاگین به سایت در تاریخ :'.date('Y-m-d h:i:s')); } add_action('wp_login', 'your_function', 10, 2);
  16. با سلام برای سوال 1 میتونین کد زیر رو در بخش function.php قالب قرار بدید if(is_single()) add_filter('get_header', 'turn_comments_off'); function turn_comments_off(){ $curl = curl_init('http://www.geoplugin.net/json.gp?ip='.Get_ip()); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $ip = json_decode(curl_exec($curl)); curl_close($curl); if($ip->geoplugin_countryCode!='IR'){ global $post; $post->comment_status="closed"; } } function Get_ip() { if (!empty($_SERVER['HTTP_CLIENT_IP'])) $ip = $_SERVER['HTTP_CLIENT_IP']; elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; else $ip = $_SERVER['REMOTE_ADDR']; return $ip; } برای سوال 2 بیشتر توضیح بدید برای سوال 3: تابع wp_die در ادرس wp-includes/functions.php قرار داره میتونین کدهاشو ببینین و همونو با یک اسم دیگه شبیه سازی کنید
  17. این میتونه به خاطر سایز بندی این اتفاق افتاده باشه اگه طول متن شما از کادر شما بیشتره در هر حال اگه میخواهید متن نشکنه میتونین کد زیر رو به div مورد نظر بدید overflow: hidden; white-space: nowrap;
  18. اسکریپت شما در صورت صحت نام کاربری و رمز عبور کاربر رو به ادرس زیر منتقل میکنه echo"<script>window.location = 'users/index.php'</script>"; خبری از login_success.php نیست
  19. وردپرس

    وقتی مستقیم داخل فایل function.php قالب باشه هر کاربری که وارد سایت میشه کد 1 بار اجرا میشه برای اجرای زمانبدنی شده شما میتونین از کرون جاب خود وردپرس استفاده کنید https://codex.wordpress.org/Function_Reference/wp_schedule_event یا از cronjob خود سرور استفاده کنید https://my.mihanwebhost.com/knowledgebase.php?action=displayarticle&id=210
  20. میتونین از کد زیر برای اضافه کردن یک محصول به کارت استفاده کنید البته قیمت رو خودش محاسبه میکنه //php global $woocommerce; $product_id = 19; $woocommerce->cart->add_to_cart($product_id); //ajax <a id="buy" href="#">Buy this!</a> <script> $('#buy').click(function(e) { e.preventDefault(); addToCart(19); return false; }); function addToCart(p_id) { $.get('/wp/?post_type=product&add-to-cart=' + p_id, function() { // call back }); } </script> هوک برای تغییر قیمت محصول add_action( 'woocommerce_before_calculate_totals', 'woo_add_donation'); function woo_add_donation() { global $woocommerce; $donation = 10; foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { if($cart_item['data']->id == 19){ $cart_item['data']->set_price($donation); } } }
  21. وردپرس

    با سلام شما مشخص نکردین این عملیات به صورت اتومات انجام بشه یا به صورت دستی هست؟ فیلدهای $results و $res مشخص نیستن با این حال بهتره کوئری رو به صورت زیر بنویسید تا در صورت تغییر perfix به مشکل نخورید $results = $wpdb->get_results("SELECT * FROM wp_orders"); $results = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}orders"); و اینکه تاریخ در فیلد های استاندارد به صورت زیر ذخیره میشه $datehnow=date('Y/m/d - H:i:s'); $datehnow=date('Y-m-d H:i:s');
  22. البته سایت who.is هست که نشون میده چه کسی و از کجا یک دامنه خاص رو ثبت کرده
  23. برای اینکه بیاد سمت چپ میتونین به صورت زیر عمل کنید <div style="float: left;"><?php echo parsidate('l d F Y'); ?></div> و اگه میخواهید درون منو قرار بگیره چند راه وجود داره الل اینکه درون منو li اضافه کنید و قرار بدین دوم اینکه همین div که در بالا قرار داده شده با استفاده از کدهای css <div style="float:left;position: absolute;top:3px;left:20px;z-index: 9999;"><?php echo parsidate('l d F Y'); ?></div>
  24. خطای اول شما مربوط به فیلد hash نیست ممکنه مربوط به status یا id باشه مقدار فیلد id ور (11)INT قرار بدین ببینین باز هم این خطا میاد؟ خطا در مورد وارد کردن مقدار 1 در یک فیلد که قبلا مقدار 1 درونش وجود داره صحبت میکنه در مورد خطای دوم باید کد foreach رو قرار بدید چیزهایی که باید در نظر داشته باشید این هست که مقداری که وارد foreach میشه حتما ارایه یا ابجکت باشه و اینکه چک کنین حتما مقدار داشته باشه و نول نباشه مثلا اگه مقدار شما اسمش values$ باشه حتما قبل حلقه چک کنین خالی نباشه if(!empty($values)){ foreach($values as $value){ //کدهای حلقه } }
  25. برای پارسی دیت از کد زیر استفاده کنید <?php echo parsidate('l d F Y'); ?>