Создание шорткода

Всем привет, сделал шорткод такого содержания:


function ps_shortcode() { return ' '; } add_shortcode('ps', 'ps_shortcode'); function ps_shortcode() {

return '<?php $view = intval( get_post_meta( get_the_ID(), 'Views', true ) );?> <?php echo number_format_i18n( $view );?>';

}

add_shortcode('ps', 'ps_shortcode');

но при открытии сайта показывается белый экран, помогите пожалуйста!

Добавить Комментарий

     

    
    function ps_shortcode() {
    
    $view = intval(get_post_meta(get_the_ID(), 'Views', true));
    
    return number_format_i18n($view);
    
    }
    add_shortcode('ps', 'ps_shortcode');
    
    
    Добавить Комментарий

    Спасибо работает, я там в первом сообщении что то видно не так сюда скопировал посмотрел сейчас и ужаснулся) Ещё хотел спросить как вставить функцию 

    
    <php the_category(', '); ?>
    
    
    в шорткод?

    немного не понял вопроса, что именно вы хотите сделать?

    в 23.02.2017.

    Я имел ввиду создать шорткод, в принципе что и в первом сообщении. Просто я сейчас в статье напрямую вывожу php, решил всё заменить на шорткоды.

    в 23.02.2017.
     function ps_shortcode_cat() {
    gloval $post;
    $cat =get_the_category( $post->ID);
    return cat;
    }
     add_shortcode('ps_cat', 'ps_shortcode_cat');
     
    в 23.02.2017.

    Вставляю шорткод [ps_cat] и белый экран.

    в 23.02.2017.

    Ниже ответил

    в 24.02.2017.

    Спасибо работает!

    в 25.02.2017.
    Добавить Комментарий
    /**
    *  Выводим список категорий
    *
    */
     function ps_shortcode_cat() {
     global $post;
     $html = '';
     // получим список категорий поста
     $cat = get_the_category($post->ID, true);
     // проверяем есть ли данные
     if (is_array($cat)) {
     // обходим массив категорий
     foreach ($cat as $key => $value) {
     // собираем html
     $html .= '<a href="' . get_category_link($value->term_id) . '">' . $value->cat_name . '</a>';
     // проверяем есть ли следующий элемент в массиве, для простановки запятых
     $i = $key + 1;
     if (!empty($cat[$i])) {
     $html .= ', ';
     }
     }
     }
    return $html;
     }
    add_shortcode('ps_cat', 'ps_shortcode_cat');
     
    Добавить Комментарий

    Я наверное вам надоел) Хотел ещё спросить если знаете, когда вставляю шорткод в разметку:

    
    <meta itemprop="applicationCategory" content="[ps_cat]">
    
    

    почему-то не выводится категория, а так в тексте выводится, не подскажите решение?

    Вы пытаетесь вывести html в атрибуте тега — что по правилам html — уже не правильно. И нарушает верстку, поэтому она будет ломаться и выводиться не правильно.

    Так же рекомендую почитать https://schema.org/applicationCategory

    Вроде как параметра «content» — там вообще нет.

     

    в 25.02.2017.
    Добавить Комментарий

    Ваш ответ

    Размещая свой ответ, вы соглашаетесь с правилами сайта.