WordPress Короткий код - PullRequest
       2

WordPress Короткий код

0 голосов
/ 06 ноября 2011

Если это мой шорткод в WordPress:

[catlist name='mycategory', template='category-display-template' excerpt='yes']

Как я могу получить значение имени для отображения на моей странице WordPress? Я думал о чем-то вроде <?php echo $name ?>

Любая помощь будет оценена.

Код плагина выглядит следующим образом - вот фрагмент кода:

function catlist_func($atts, $content = null) {
            $atts = shortcode_atts(array(
                            'id' => '0',
                            'name' => '',
                            'category_name' => '',
                            'orderby' => 'date',
                            'order' => 'desc',
                            'numberposts' => '5',
                            'date' => 'no',
                            'author' => 'no',
                            'dateformat' => get_option('date_format'),
                            'template' => 'default',
                            'excerpt' => 'no',
                            'exclude' => '0',
                            'excludeposts' => '0',
                            'offset' => '0',
                            'tags' => '',
                            'content' => 'no',
                            'catlink' => 'no',
                            'comments' => 'no',
                            'thumbnail' => 'no',
                            'thumbnail_size' => 'thumbnail',
                            'post_type' => '',
                            'post_parent' => '0',
                            'class' => 'lcp_catlist',
                            'customfield_name' => '',
                            'customfield_value' =>'',
                            'customfield_display' =>'',
                            'taxonomy' => ''
                    ), $atts);

            $catlist_displayer = new CatListDisplayer($atts);
            return $catlist_displayer->display();

    }

add_shortcode ('catlist', массив ('ListCategoryPosts', 'catlist_func'));

Это похоже на код, предоставленный Александром Бернацким

Как мне вызвать 'name' на этой странице? Я поместил текст. Нужно назвать его здесь, в коде ниже, где я хочу, чтобы имя было вставлено ...

$lcp_display_output .= '<a href="'.get_permalink($single).'" title="'.get_the_title($single).'" class="medium magenta awesome">Read More &raquo;</a> '.Need to call it here.' <a href="'.get_category_link($single).'" title="'.get_the_title($single).'" class="medium magenta awesome">Category &raquo;</a><div class="category-clear"></div>';

или название на самом деле является "категорией страницы"

  1. Как мне заставить имя отображать "имя" или "название категории"
  2. Как мне сделать ссылку на страницу категории?

Я использую этот плагин WordPress http://wordpress.org/extend/plugins/list-category-posts/

------------------ Или это может быть упрощенное решение, которое я хочу достичь ------

Это короткий код того, как я вызываю функцию в плагине:

[catlist name='Alfa Romeo' template='category-display-template' excerpt='yes' thumbnail='yes' numberposts='1' author='yes' category_name='Alfa Romeo' URL='http://3d-car-shows.com/category/alfa-romeo/']

[catlist name='BMW' template='category-display-template' excerpt='yes' thumbnail='yes' numberposts='1' author='yes' category_name='BMW' URL='http://3d-car-shows.com/category/bmw/']

Теперь на странице плагина, если есть простой способ извлечь созданное вручную «имя категории» и значение «URL» из шорткода, который я смогу связать с созданными пользователем страницами ...

как то так

<a href="<?php echo $category_name ?>"><?php echo $URL ?></a>

Спасибо.

1 Ответ

1 голос
/ 07 ноября 2011

Gerald, вы можете использовать этот шаблон кода для плагина List Category Posts для извлечения названия категории и создания ссылки на страницу категории:

// Post link
$lcp_display_output .= '<a href="'.get_permalink($single).'" title="'.get_the_title($single).'" class="medium magenta awesome">Read More &raquo;</a> ';

// Category name & link
$lpc_category_id = $this->catlist->get_category_id();
$lpc_cat_link = get_category_link($lpc_category_id);
$lpc_cat_name = get_cat_name($lpc_category_id);

$lcp_display_output .= esc_html($lpc_cat_name);
$lcp_display_output .= ' <a href="'.$lpc_cat_link.'" title="'.$lpc_cat_name.'" class="medium magenta awesome">Category &raquo;</a><div class="category-clear"></div>';
...