Mehdiam.Dev – Telegram
Mehdiam.Dev
4.31K subscribers
25 photos
2 videos
7 files
17 links
آموزش برنامه نویسی و طراحی سایت

سایت:
https://taktheme.com

پشتیبانی دوره و محصولات سایت:
@taktheme_support
Download Telegram
1- جهت ارسال پیامک در حالت های مختلف سفارش، ابتدا کد زیر را داخل فایل functions.php قالب خود قرار دهید
سپس مقدار username و password را درون آن تغییر دهید و اطلاعات حساب خود در ملی پیامک را جایگزین کنید
11👍3👏1🙏1
 function melipayamak_send_sms($phone, $pattern_code, $args)
{
try {
static $sms;
if (!$sms) {
$options = array("encoding" => "UTF-8", "cache_wsdl" => WSDL_CACHE_BOTH);
$sms = new SoapClient("http://api.payamak-panel.com/post/Send.asmx?wsdl", $options);
}
$data = array(
"username" => "username",
"password" => "password",
"text" => $args,
"to" => $phone,
"bodyId" => $pattern_code
);
return $sms->SendByBaseNumber($data)->SendByBaseNumberResult;
} catch (SoapFault $e) {
return false;
}
}
13👍6
2- سپس کد زیر را درون فایل functions.php قالب خود قرار دهید، با این کدها، پیامک در حالت های مختلف سفارش ارسال میشود
 
// هنگام ورود به پرداخت
function melipayamak_custom_order_processing( $order_id ) {
$billing_phone = get_post_meta($order_id,'_billing_phone',true);
$billing_name = get_post_meta($order_id,'_billing_first_name',true);
$pattern_code = '1111';
if ($billing_phone){
melipayamak_send_sms($billing_phone,$pattern_code,array($billing_name,$order_id));
}
}
add_action( 'woocommerce_order_status_processing', 'melipayamak_custom_order_processing' );

// هنگام تکمیل سفارش
function melipayamak_custom_order_completed( $order_id ) {
$billing_phone = get_post_meta($order_id,'_billing_phone',true);
$billing_name = get_post_meta($order_id,'_billing_first_name',true);
$pattern_code = '2222';
if ($billing_phone){
melipayamak_send_sms($billing_phone,$pattern_code,array($billing_name,$order_id));
}
}
add_action( 'woocommerce_order_status_completed', 'melipayamak_custom_order_completed' );

// هنگام لغو سفارش
function melipayamak_custom_order_cancelled( $order_id ) {
$billing_phone = get_post_meta($order_id,'_billing_phone',true);
$billing_name = get_post_meta($order_id,'_billing_first_name',true);
$pattern_code = '3333';
if ($billing_phone){
melipayamak_send_sms($billing_phone,$pattern_code,array($billing_name,$order_id));
}
}
add_action( 'woocommerce_order_status_cancelled', 'melipayamak_custom_order_cancelled' );

// هنگام در انتظار بررسی سفارش
function custom_order_on_hold( $order_id ) {
$billing_phone = get_post_meta($order_id,'_billing_phone',true);
$billing_name = get_post_meta($order_id,'_billing_first_name',true);
$pattern_code = '4444';
if ($billing_phone){
melipayamak_send_sms($billing_phone,$pattern_code,array($billing_name,$order_id));
}
}
add_action( 'woocommerce_order_status_on-hold', 'custom_order_on_hold' );


// هنگام پرداخت ناموفق
function melipayamak_custom_order_failed( $order_id ) {
$billing_phone = get_post_meta($order_id,'_billing_phone',true);
$billing_name = get_post_meta($order_id,'_billing_first_name',true);
$pattern_code = '5555';
if ($billing_phone){
melipayamak_send_sms($billing_phone,$pattern_code,array($billing_name,$order_id));
}
}
add_action( 'woocommerce_order_status_failed', 'melipayamak_custom_order_failed' );

// هنگام در انتظار پرداخت
function melipayamak_custom_order_pending( $order_id ) {
$billing_phone = get_post_meta($order_id,'_billing_phone',true);
$billing_name = get_post_meta($order_id,'_billing_first_name',true);
$pattern_code = '6666';
if ($billing_phone){
melipayamak_send_sms($billing_phone,$pattern_code,array($billing_name,$order_id));
}
}
add_action( 'woocommerce_order_status_pending', 'melipayamak_custom_order_pending' );
👍226
3- برای هر وضعیت سفارش، یک الگوی پیامکی در پنل ملی پیامک تعریف کنید و کد آن را درون مقدار pattern_code هر وضعیت در کد بالا قرار دهید، تا پیامک های مرتبط با هر وضعیت ارسال شود
👍143👏3
4- توجه داشته باشید که هنگام تعریف الگوی پیامکی، {0} اسم کسی که سفارش ثبت کرده و {1} شناسه آن سفارش میباشد
👍145
Mehdiam.Dev
https://wordpress.org/plugins/performant-translations/
یه افزونه خوب برای افزایش سرعت سایت (هرچند با تاثیر کم)، سازندش خود تیم وردپرس هست و پیشنهادش میکنه ، کار افزونه هم این هست که میاد فرایند ترجمه فایل هارو سریعتر میکنه حالا با تبدیل فایل های .mo به .php
👍144🔥3🙏1
 
function mehdiamdev_added_page_content ( $content ) {
if ( is_single() ) {
$post_tags = get_the_tags();
$output = '<div class="post-tags">';
$output .= '<div class="post-tags__head"><noscript data-slot="icon" aria-hidden="true" fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/noscript">
<path clip-rule="evenodd" d="M5.25 2.25a3 3 0 0 0-3 3v4.318a3 3 0 0 0 .879 2.121l9.58 9.581c.92.92 2.39 1.186 3.548.428a18.849 18.849 0 0 0 5.441-5.44c.758-1.16.492-2.629-.428-3.548l-9.58-9.581a3 3 0 0 0-2.122-.879H5.25ZM6.375 7.5a1.125 1.125 0 1 0 0-2.25 1.125 1.125 0 0 0 0 2.25Z" fill-rule="evenodd"></path>
</noscript><span>تگ ها</span></div>';
if ( ! empty( $post_tags ) ) {
foreach ( $post_tags as $tag ) {
$output .= '<a href="' . esc_attr( get_tag_link( $tag->term_id ) ) . '">' . __( $tag->name ) . '</a>';
}
}
$output .= "</div>";
return $content . $output;
}
return $content;
}
add_filter( 'the_content', 'mehdiamdev_added_page_content');


function mehdiamdev_tags_style(){
if (is_single()) {
?>
<style>
.post-tags {
margin: 20px 0;
}

.post-tags__head{
display: flex;
align-items: center;
font-size: 20px;
font-weight: bold;
color: #1e4d9a;
margin-bottom: 5px;
}

.post-tags__head noscript {
width: 18px;
height: 18px;
margin-left: 5px;
position: relative;
top: -2px;
}

.post-tags a{
padding: 5px 15px;
margin-left: 8px;
margin-bottom: 8px;
display: inline-block;
background: #e4c74f;
border-radius: 5px;
font-size: 14px;
}

</style>
<?php
}
}

add_action('wp_head', 'mehdiamdev_tags_style');
👍2215
کد جهت حذف برگه ها از جستجو داخل سایت وردپرس
کد را در فایل functions.php قالب خود قرار دهید

function mehdiamdev_search_filter($query) {
if ( ! is_admin() && $query->is_main_query() ) {
if ( $query->is_search ) {
$query->set( 'post_type', 'post' );
}
}
}
add_action( 'pre_get_posts', 'mehdiamdev_search_filter' );
👍336
حذف فایل سنگین Css گوتنبرگ از وردپرس
 function mehdiamdev_remove_wp_block_library_css(){
wp_dequeue_style( 'wp-block-library' );
wp_dequeue_style( 'wp-block-library-theme' );
wp_dequeue_style( 'wc-blocks-style' ); // Remove WooCommerce block CSS
}
add_action( 'wp_enqueue_noscripts', 'mehdiamdev_remove_wp_block_library_css', 100 );
👍4411🤔4🏆1
کد حذف فایل Jquery Migrate از وردپرس (این کد با حذف کردن یک فایل اضافه js میتونه باعث افزایش سرعت سایتتون بشه)
 //Remove JQuery migrate

function remove_jquery_migrate( $noscripts ) {
if ( ! is_admin() && isset( $noscripts->registered['jquery'] ) ) {
$noscript = $noscripts->registered['jquery'];
if ( $noscript->deps ) {
// Check whether the noscript has any dependencies

$noscript->deps = array_diff( $noscript->deps, array( 'jquery-migrate' ) );
}
}
}
add_action( 'wp_default_noscripts', 'remove_jquery_migrate' );
👍6111🙏2❤‍🔥1
کد جهت تغییر نمایش مقدار بازدید های افزونه Wp Postviews به صورت مثلا 1.5k
 if (function_exists('the_views')) {
add_filter('the_views', function ($output) {
$view = preg_replace('/\D/', '', $output);
if ($view < 1000) {
$new_view = $view;
$format = '';
} elseif ($view < 1000000) {
$new_view = number_format($view / 1000, 1);
$format = 'K';
} elseif ($view < 1000000000) {
$new_view = number_format($view / 1000000, 1);
$format = 'M';
} else {
$new_view = number_format($view / 1000000000, 1);
$format = 'B';
}
return str_replace('.0', '', $new_view) . $format . ' بازدید ';
});
}
👍317🔥5
یه افزونه ورود ثبت نام پیامکی براتون نوشتم به اسم ورودک، که میتونید ورود ثبت نامی ساده برای کاربراتون مثل دیجی کالا روی سایتتون فعال کنید، مشاهده دمو و توضیحات 👇👇👇👇
👍196😍5👎1
 function mehdiamdev_remove_checkout_fields( $fields ) {
$fields['billing']['billing_first_name']['placeholder'] = 'مثلا مهدی محمدی'; // با این خط کد متن پیشفرض داخل فیلد نام تغییر میکند
$fields['billing']['billing_phone']['placeholder'] = 'مثلا 09121234789'; // با این خط کد متن داخل فیلد تلفن تغییر میکند
$fields['billing']['billing_first_name']['label'] = 'نام و نام خانوادگی'; // با این خط کد عنوان فیلد نام عوض میشود
$fields['billing']['billing_address_1']['label'] = 'آدرس'; // با این خط کد عنوان فیلد نام عوض میشود
$fields['billing']['billing_address_1']['placeholder'] = 'نشانی خود را کامل وارد کنید'; // با این خط متن پیشفرض داخل آدرس عوض میشود
$fields['billing']['billing_phone']['label'] = 'شماره موبایل'; // با این خط کد عنوان فیلد تلفن عوض میشود
unset($fields['billing']['billing_company']); // با این خط کد نام شرکت حذف میشود
unset($fields['billing']['billing_last_name']); // با این خط کد نام خانوادگی حذف میشود
//unset($fields['billing']['billing_postcode']); // با این خط کد کد پستی حذف میشود
//unset($fields['billing']['billing_state']); // با این خط کد استان حذف میشود
//unset($fields['billing']['billing_city']); // با این خط کد شهر حذف میشود
unset($fields['billing']['billing_country']); // با این خط کد کشور حذف میشود
//unset($fields['billing']['billing_address_1']); // با این خط کد آدرس 1 حذف میشود
unset($fields['billing']['billing_email']); // با این خط کد آدرس ایمیل حذف میشود
unset($fields['billing']['billing_address_2']); // با این خط کد آدرس 2 یعنی پلاک و بلوک حذف میشود
unset($fields['order']['order_comments']); // با این خط کد توضیحات اضافه حذف میشود
return $fields;
}
add_filter( 'woocommerce_checkout_fields' , 'mehdiamdev_remove_checkout_fields' );
20👍5
Mehdiam.Dev
https://taktheme.com/product/voorodak/
⚙️⚙️⚙️ آپدیت جدید افزونه ورودک منتشر شد، موارد اضافه شده:
هماهنگی با پنل sms.ir
قابلیت تغییر فرمت نام کاربری و تعیین فیلد سفارشی برای انتقال آسان از دیجیتس به ورودک
قابلیت تغییر ارقام کد یکبار مصرف از 4 تا 8 رقم
فیلد های هوشمندانه بر اساس نوع سامانه انتخابی
رفع چند مشکل فنی

نسخه جدید را از حساب کاربری خود میتوانید دریافت کنید
14👍4
 function mehdiamdev_sort_by_stock_and_date( $args ) {
$args['orderby'] = array(
'meta_value' => 'ASC',
'date' => 'DESC'
);
$args['meta_key'] = '_stock_status';
$args['orderby'] = array(
'meta_value' => 'ASC',
'date' => 'DESC'
);
return $args;
}
add_filter( 'woocommerce_get_catalog_ordering_args', 'mehdiamdev_sort_by_stock_and_date', 9999 );
👍228👎4
Mehdiam.Dev
function mehdiamdev_sort_by_stock_and_date( $args ) { $args['orderby'] = array( 'meta_value' => 'ASC', 'date' => 'DESC' ); $args['meta_key'] = '_stock_status'; $args['orderby'] = array( 'meta_value' => 'ASC', …
کد نمایش محصولات ناموجود در انتهای لیست محصولات و بعد از محصولات موجود در فروشگاه های ووکامرسی
😍27👍207👎1
 function taktheme_remove_specific_css_from_html($tag, $handle) {
$handles_to_remove = [
'abzarwp-theme-woodmart-core-fonts',
'abzarwp-fonts-all'
];

if (in_array($handle, $handles_to_remove)) {
return '';
}

return $tag;
}
add_filter('style_loader_tag', 'taktheme_remove_specific_css_from_html', 10, 2);
24👍6👎4😁4