💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ بهمن فلاحی
نمونه تمرین استفاده از متد post_meta در متاباکس ویدیو برای پست‌ها
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۱۹ آذر ۱۴۰۲

درود
با استفاده از این قطعه کد و قرار دادن آن در بخش function.php می‌توان دید که چگونه استفاده از متد post_meta داده‌های اضافی را از طریق این متد به دیتابیس منتقل می‌کند. در این مثال یک متاباکس که پیش‌تر در دروس قبل به ان اشاره شده بود از طریق این متد طراحی شده و با قرار دادن url ویدیو به نمایش در می‌‌‌‌آید:

 

// Add the metabox to the post editor screen
function add_video_metabox() {
	add_meta_box(
		'video_metabox',
		'Video Metabox',
		'render_video_metabox',
		'post',
		'normal',
		'high'
	);
}
add_action('add_meta_boxes', 'add_video_metabox');
// Render the content of the metabox
function render_video_metabox($post) {
	// Retrieve the current value of the video URL
	$video_url = get_post_meta($post->ID, '_video_url', true);
	// Output the HTML for the metabox
	?>
	<label for="video_url">Video URL:</label>
	<input type="text" id="video_url" name="video_url" value="<?php echo esc_attr($video_url); ?>" style="width: 100%;" />
	<?php
	// Add a nonce field
	wp_nonce_field('save_video_metabox', 'video_metabox_nonce');
}
// Save the metabox data
function save_video_metabox($post_id) {
	// Check if nonce is set
	if (!isset($_POST['video_metabox_nonce'])) {
		return $post_id;
	}
	// Verify that the nonce is valid
	if (!wp_verify_nonce($_POST['video_metabox_nonce'], 'save_video_metabox')) {
		return $post_id;
	}
	// Check if this is an autosave
	if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
		return $post_id;
	}
	// Check the user's permissions
	if ('post' === $_POST['post_type'] && !current_user_can('edit_post', $post_id)) {
		return $post_id;
	}
	// Update the meta field in the database
	if (isset($_POST['video_url'])) {
		update_post_meta($post_id, '_video_url', sanitize_text_field($_POST['video_url']));
	}
}
add_action('save_post', 'save_video_metabox'); 

با سلام
جناب فلاحی عزیز از فعالیت موثر و به اشتراک گذاری تجربه هاتون متشکریم.

موفق و سربلند باشید

بهنام مرادی ۱۹ آذر ۱۴۰۲، ۱۵:۱۱