#php #regex #include #shortcode
Вопрос:
Мне нужен фрагмент кода, который преобразует
[plugin-testplugin]
в PHP включают. Это работает нормально.
Тем не менее, я хочу иметь что-то более похожее на это:
[plugin-testplugin 12]
где testplugin показывает только содержимое с идентификатором 12 в базе данных.
Как я могу этого добиться?
Это мой код:
$regex = '~[plugin-([^]] )]~';
$plugin = htmlspecialchars_decode($page['plugin']);
$parts = preg_split($regex, $plugin, -1, PREG_SPLIT_DELIM_CAPTURE);
foreach($parts as $k => $v){
if($k amp; 1)
include('plugins/'.$v.'/'.$v.'.php');
else
echo htmlspecialchars_decode($v);
}
Комментарии:
1. Является ли «плагины» допустимым путем включения ? Попробуйте запустить его с
foreach($parts as $k => $v){ if($k amp; 1) var_dump('plugins/'.$v.'/'.$v.'.php'); else echo htmlspecialchars_decode($v); }
помощью этого, и вы узнаете, какой физический файл пытается загрузить php, является ли этот путь допустимым?, являются ли переменные такими, какими вы их ожидаете, соответствует ли он вообще оператору if и т. Д. И т. Д. ??2. Вы зарегистрировали обработчики шорт-кодов в functions.php? покажите свой functions.php а также
3. @GreensterRox код, который я показываю, работает, но только для первого варианта. Я хочу реализовать что-то, где я могу показать определенный идентификатор.
4. @MasivuyeCokile у меня нет functions.php. Это весь код, который я должен показать плагину. В каком правильном направлении сделать то, что я хочу?
5. @Saypontigohe вы сами создали плагин из strectch?