۳ سلمان غلامی
فراخوانی مقدار شورتکد در فایل جدا
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۰۸ فروردین ۱۴۰۲

سلام وقتتون بخیر

برای ایجاد شورتکد‌ها ما مثلا یک مقدار html رو return میکنیم و مشکلی هم نیست با این موضوع ولی اگر بخواهیم مقدار return رو در فایلی جدا (مثل فولدر view) قرار بدیم و در شورتکد اون فایل رو فراخوانی کنیم، چطور میشه این مورد رو انجام داد؟ مثلا بجای کد html که در تابع زیر هست رو در فایل جداگانه قرار بدیم (البته کدهای html حذف میشه، این شورتکد همونی که استاد توضیح دادن یک div با یک لینک ساده است)

function shortcode_with_attr($attr, $content = null)
{
    return
        '
    
    ';
}

و بعد اون فایل رو include کنیم

سلام و احترام

اگر سوالتان را درست متوجه شده باشم ، شما باید از دو تابع زیر کمک بگیرید.

ob_start();
include();
ob_get_clean();

درباره انها در داکیومنت بیشتر مطالعه کنید

بهترین پاسخ
بهنام مرادی ۰۹ فروردین ۱۴۰۲، ۰۰:۱۷

حل شد

من میخواستم یک سند html, php جدا داشته باشم که محتواش رو با شورتکد ساده نشون بدم

مشکلم اینجا بود که مسیر فایل رو اشتباه میساختم، آقای مرادی ممنون از راهنمایی شما باید از همان تابع هایی که گفتید استفاده میکردم و شورتکد رو به این صورت ساختم، خودم که کلی لذت بردم، کد میزارم شاید به کار دوستان اومد (البته برای دوستان حرفه ای حتما کار ساده ای؛ ولی بیشتر هدفم انتقال حس خوبی بود که از این کد گرفتم)

function return_text($params = array())
{
    extract(shortcode_atts(array(
        'file' => 'html-shortcode' //Use the real file name here
    ), $params));
    ob_start();
    // SH_PLUGIN_VIEW directory
    include(SH_PLUGIN_VIEW . 'admin' . "/$file.php"); // html-shortcode.php
    return ob_get_clean();
}
add_shortcode('text', 'return_text');

خروجی هم اینه که هر چیزی رو میخوام در فایل html-shortcode.php قرار میدم و با شورتکد ساده [text] ازش استفاده میکنم

سلمان غلامی ۰۹ فروردین ۱۴۰۲، ۰۶:۵۶

سلام،

بعد از اینکه پاسخ منتور کمکتون کرد، سؤال رو ببندید تا از لیست پیگیری خارج شوند.

موفق باشید.

محسن موحد ۰۹ فروردین ۱۴۰۲، ۰۸:۴۱