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

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

پشتیبانی دوره و محصولات سایت:
@taktheme_support
Download Telegram
Channel created
کد بازی Snake با پایتون
import pygame
import time
import random

pygame.init()

width, height = 800, 600
window = pygame.display.set_mode((width, height))
pygame.display.set_caption("Snake Game")

white = (255, 255, 255)
red = (255, 0, 0)
green = (0, 255, 0)

snake_block = 20

snake_speed = 15

x_snake = width / 2
y_snake = height / 2

x_snake_change = 0
y_snake_change = 0

snake_length = 1
snake_list = []

x_food = round(random.randrange(0, width - snake_block) / 20.0) * 20.0
y_food = round(random.randrange(0, height - snake_block) / 20.0) * 20.0


def our_snake(snake_block, snake_list):
for x in snake_list:
pygame.draw.rect(window, green, [x[0], x[1], snake_block, snake_block])


def message(msg, color):
font = pygame.font.SysFont(None, 25)
screen_text = font.render(msg, True, color)
window.blit(screen_text, [width / 2, height / 2])


game_over = False
while not game_over:
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_over = True
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
x_snake_change = -snake_block
y_snake_change = 0
elif event.key == pygame.K_RIGHT:
x_snake_change = snake_block
y_snake_change = 0
elif event.key == pygame.K_UP:
y_snake_change = -snake_block
x_snake_change = 0
elif event.key == pygame.K_DOWN:
y_snake_change = snake_block
x_snake_change = 0

x_snake += x_snake_change
y_snake += y_snake_change
window.fill(white)

if x_snake >= width or x_snake < 0 or y_snake >= height or y_snake < 0:
game_over = True

snake_head = [x_snake, y_snake]
snake_list.append(snake_head)
if len(snake_list) > snake_length:
del snake_list[0]

for x in snake_list[:-1]:
if x == snake_head:
game_over = True

pygame.draw.rect(window, red, [x_food, y_food, snake_block, snake_block])

our_snake(snake_block, snake_list)

if x_snake == x_food and y_snake == y_food:
x_food = round(random.randrange(0, width - snake_block) / 20.0) * 20.0
y_food = round(random.randrange(0, height - snake_block) / 20.0) * 20.0
snake_length += 1

pygame.display.update()
pygame.time.Clock().tick(snake_speed)

pygame.quit()
👍144
Mehdiam.Dev
کد بازی Snake با پایتون import pygame import time import random pygame.init() width, height = 800, 600 window = pygame.display.set_mode((width, height)) pygame.display.set_caption("Snake Game") white = (255, 255, 255) red = (255, 0, 0) green = (0, 255,…
روش اجرا:
1- ابتدا در محیط cmd عبارت python را بنویسید تا پایتون نصب شود
2- سپس بار دیگر cmd را باز کنید و بنویسید pip install pygame
3- سپس کد بالا را درون یک فایل به نام snake.py کپی و ذخیره کنید
4- روی فایل کلیک کنید و بازی کنید
6👍5😈2
parsmusic.zip
954.9 KB
قالب موزیک وردپرس
🙏1810👍5
tax-slug-fixer.zip
1.2 KB
افرونه ای قولشو داده بودیم

@k_hejrati
13
 
add_filter('the_content',function ($content){
if(is_singular('post')){
$post_id = get_the_ID();
ob_start();
$args = array(
'post_type' => 'post',
'posts_per_page' => '1',
'post_status' => 'publish',
'post__not_in' => array($post_id),
'category__in' => wp_get_post_categories($post_id),
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
?>
<p>
<a href="<?php the_permalink(); ?>" style="padding:5px 15px;display: flex;flex-wrap:wrap;align-items: center;margin: 20px 0;border: 1px solid #ddd;border-radius: 5px;">
<?php the_post_thumbnail('thumbnail', ['style' => 'width:50px;height:50px;border-radius:5px;object-fit:cover;']); ?>
<span style="color: blue;margin: 0 15px 0 5px;font-weight: bold;display: inline-block">بیشتر بخوانید:</span>
<b style="color: #222;"><?php the_noscript(); ?></b>
</a>
</p>
<?php
}
}
wp_reset_postdata();
$related_html = ob_get_clean();
$paragraphs = explode( '</p>', $content );
$middle_index = floor( count( $paragraphs ) / 2 );
array_splice( $paragraphs, $middle_index, 0, '<p>' . $related_html . '</p>' );
return implode( '', $paragraphs );
}
return $content;
});
16🔥7👏1
 // Disable Gutenberg
add_filter( 'use_block_editor_for_post', '__return_false' );
add_filter( 'use_widgets_block_editor', '__return_false' );
15👍14
Mehdiam.Dev
// Disable Gutenberg add_filter( 'use_block_editor_for_post', '__return_false' ); add_filter( 'use_widgets_block_editor', '__return_false' );
غیر فعال کردن ویرایشگر گوتنبرگ در وردپرس با 2 خط کد، کافیه این کد رو داخل فایل functions.php قالب قرار بدید (دیگه لازم نیست از افزونه ویرایشگر کلاسیک استفاده کنی)
👍275
 add_filter('rest_endpoints', function( $endpoints ) {
if ( isset( $endpoints['/wp/v2/users'] ) ) {
unset( $endpoints['/wp/v2/users'] );
}
if ( isset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] ) ) {
unset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] );
}
return $endpoints;
});
👍2312
Mehdiam.Dev
add_filter('rest_endpoints', function( $endpoints ) { if ( isset( $endpoints['/wp/v2/users'] ) ) { unset( $endpoints['/wp/v2/users'] ); } if ( isset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] ) ) { unset( $endpoints['/wp/v2/use…
کد بستن آدرس Rest api کاربران در وردپرس به جهت افزایش امنیت سایت و لو نرفتن اطلاعات کاربران
👍257
This media is not supported in your browser
VIEW IN TELEGRAM
ویدیو‌ آموزشی "تعمیر دیتابیس وردپرس"
👍187👏1
روش های حل‌ این خطا در وردپرس

🔵 چک کردن صحیح بودن اطلاعات دیتابیس در فایل wp-config.php

🔵 مشکل از سمت هاستینگ که باید تیکت بزنید تا بررسی کنن

🔵 خراب شدن دیتابیس که با ویدیو بالا میتونید دیتابیسو تعمیر کنید
👍148
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