توابع parse_blocks() در وردپرس

wordpress functions parse blocks
18 آذر 1403

توضیح درباره توابع parse_blocks() در وردپرس

در وردپرس، یکی از ابزارهای قدرتمند برای کار با محتوای متنی، تابع parse_blocks() است. این تابع برای تجزیه محتوای متناظر با بلوک‌ها استفاده می‌شود، یعنی متنی که با ویرایشگر بلوکی (block editor) ایجاد شده است. با استفاده از این تابع، می‌توانید محتوای پیچیده‌ای که شامل چندین بلوک است را به صورت ساختار یافته مدیریت کنید.

وقتی شما یک نوشته یا صفحه‌ای را در وردپرس منتشر می‌کنید، محتوای آن به صورت یک رشته متنی ذخیره می‌شود. این متن می‌تواند شامل چندین بلوک مختلف باشد: متن، تصویر، گالری، ویدیو و غیره. تابع parse_blocks() این امکان را فراهم می‌سازد که این متن‌ها به اجزای کوچک‌تری تقسیم شوند و بتوانیم به راحتی با آن‌ها کار کنیم.

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

به طور کلی، parse_blocks() ابزاری است که به شما کمک می‌کند محتوای خود را بهتر سازماندهی کنید و ساختاری منطقی به محتوای نوشتاری‌تان بدهید. در ادامه، به بررسی نحوه استفاده از این تابع خواهیم پرداخت.

نمونه کد استفاده از parse_blocks()

$content = get_the_content();
$blocks = parse_blocks( $content );

foreach ( $blocks as $block ) {
// انجام برخی کارها با هر بلوک
echo '

' . esc_html( $block['blockName'] ) . '

';
echo $block['innerHTML'];
}

توضیح خط به خط کد

در کد بالا:


$content = get_the_content();
توسط این خط، محتوای مطلب جاری را دریافت می‌کنیم.

$blocks = parse_blocks( $content );
اینجا محتوای دریافت شده را به بلوک‌های مختلف تجزیه می‌کنیم.

foreach ( $blocks as $block ) {
با استفاده از یک حلقه، هر بلوک را یکی یکی پردازش می‌کنیم.

echo '

' . esc_html( $block['blockName'] ) . '

';

نام هر بلوک را به صورت یک عنوان

نمایش می‌دهیم.

echo $block['innerHTML'];
محتوای داخلی هر بلوک را به نمایش می‌گذاریم.

سوالات متداول

؟

تابع parse_blocks() چه کاری انجام می‌دهد؟

؟

چگونه می‌توان از تابع parse_blocks() در یک قالب وردپرس استفاده کرد؟

؟

آیا می‌توانم محتوای خاصی از بلوک‌ها انتخاب کنم؟