Ушки – php в отдельном посте

Возможно ли такое?

Т.е. можно ли исполнить с помощью ушек пхп код в отдельно взятом посте? И какова тогда последовательность действий?

Спасибо!

Посмотрите http://blog.portal.kharkov.ua/2007/11/10/include-na-stranice/

спасибо, но там значится:

плагин yube-include
Из соображений безопасности ... заблокирована обработка ушек, имена которых начинаются с php_, то есть тех, которые могут содержать php-код

так как все таки ставить пхп в отдельный пост:
плагин inline-php не хочет обработать вот эту конструкцию плагина WP-PostRatings, а exec-php слишком наворочен… :
To Display Highest Rated Post In A Category Use:

<?php if (function_exists('get_highest_rated_category')): ?>
   <ul>
      <?php get_highest_rated_category(295, post, 3); ?>
   </ul>
<?php endif; ?>

Тю, так уберите блокировку!
Можете вообще не заморачиваться с плагином, а выдрать из него (ди из ушек тоже) нужный кусок и вставить в functions.php темы.

А не проще ли прописать в шаблоне вызов ушки «php_», а в самой ушке уже выполнять кастомизацию под записи?

Дык ушку через шаблон посреди текста не поставишь, да и заморочисто делать для отдельных постов.

Можете вообще не заморачиваться с плагином, а выдрать из него (ди из ушек тоже) нужный кусок и вставить в functions.php темы.

какой – не ткнете? и как тогда ограничиваться одним постом?

function yube_include($content) {

    if (strpos($content, '<!--include') === false) return $content;
    return preg_replace_callback('/<!--include\s(file|ushka)=[\'|"]+(.*?)[\'|"]+\s*-->/', @incl_rpl, $content);
}

function incl_rpl($inc) {

   if ($inc[1] == 'file') {
      $inc[2] = str_replace('../','', $inc[2]);
      if (file_exists(ABSPATH . 'inc/' . $inc[2])) $res = $fcontents = join ('', file(ABSPATH . 'inc/' . $inc[2]));
   }

   elseif ($inc[1] == 'ushka') {
      if (!preg_match('/^php_/',$inc[2]) and function_exists('show_ushka')) $res = show_ushka($inc[2], '', false, '');
   }    

   return $res;
}


add_filter('the_content', 'yube_include');

В functions.php

<?php
function my_code($content) {

    if (strpos($content, '<!--my_code') === false) return $content;
    return preg_replace_callback('/(<!--my_code\s*-->)/', @incl_rpl, $content);
}

function incl_rpl($inc) {
   $res = date("H:i:s"); // сам код тут
   return $res;
}

add_filter('the_content', 'my_code');
?>

В пост в режиме код вставить <!–my_code–>.

А плагин ‘yube-include’ я пока аннулирую. Так что сотрите и забудьте. На время. 🙂

спасибо!

А плагин 'yube-include' я пока аннулирую. Так что сотрите и забудьте. На время. :)

а что так?

На доработку. 🙂

yube-include — а что с ним не так? а то я уже пристроила в одно место

Если работает нормально – значит всё так. Просто закралось подозрение и я убрал от греха подальше. Проверю – верну. Может, новую версию.

UPD Вернул на место, удалив из описания упоминание php. Теперь думаю: нужно делать обработку php-инклюдов или ну его?

Anonymous
Отправить
Ответ на: