2015-01-19 2 views
0

Я пытался получить свой собственный заголовок сообщения, но до сих пор не повезло, я попробовал ссылку, а также не смог заставить ее работать.WP custom post title или label

function create_aop_post_types(){ 
$args = array(
    'label'    => 'News', 
    'public'    => true, 
    'rewrite'   => array('slug' => 'news'), 
    'has_archive'  => true, 
    'menu_position'  => null, 
    'taxonomies'   => array('category', 'post_tag'), 
    'supports'   => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments', 'custom-fields', 'revisions') 
); 

register_post_type('news', $args); 

Попытка вывода 'меткой' => 'Новости' в HREF, и я попытался the_title(); с постоянной привязкой.

<div class="feedhead news clearfix"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php echo get_the_title(); ?></a></div> 
     <div class="newscol-items"> 
      <?php 
      //Instead do this using a WP Query and loop. 
      $queryargs = array(
       'post_type'=>'news', 
       'showposts'=>5 
      ); 
      query_posts($queryargs); 
      if (have_posts()){ 
       $count = 0; 
       while (have_posts()) { 
        the_post(); 
        $count++; 
        get_template_part('content','news'); 
       } 
      } else { 
       get_template_part('content','noposts'); 
      } 
      wp_reset_query(); 
      ?> 
     </div> 

до сих пор я только делаю , но я уверен, что есть лучший способ сделать это, чем то, что я пробовал.

+0

Вы используете пользовательскую страницу для отображения результатов или одной/архивной страницы? Если вы используете настраиваемую страницу, вам необходимо предоставить собственный запрос. Кажется, у вас есть определение, работающее нормально, поскольку вы можете создать свой новый тип сообщения. – Everon

ответ

0

Используйте advanced custom fields затем создать поле, называемое mycustom_title, а затем сделать

<?php the_field("[mycustom_title]"); ?> 
0

Для заголовка, the_permalink() и the_title() должны быть внутри цикла. И тогда вам не нужно будет использовать get_the_title(). Для ярлыка пользовательское поле лучше. Смотрите эту страницу: http://codex.wordpress.org/Custom_Fields

<div class="newscol-items"> 
     <?php 
     //Instead do this using a WP Query and loop. 
     $queryargs = array(
      'post_type'=>'news', 
      'showposts'=>5 
     ); 
     query_posts($queryargs); 
     if (have_posts()){ 
      $count = 0; 
      while (have_posts()) { ?> 
       <div class="feedhead news clearfix"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></div> 
       <?php the_post(); 
       $count++; 
       get_template_part('content','news'); 
      } 
     } else { 
      get_template_part('content','noposts'); 
     } 
     wp_reset_query(); 
     ?> 
    </div> 
+0

Мне нужно получить название метки, а не название сообщения. 'label' => 'News', – nCore

+0

Функция get_post_type должна помочь; внутри цикла объект post также имеет переменную post_type. Если это не возвращает метку, то пользовательские поля - ваш лучший вариант. –

0

Этот код работает для меня, и это будет получать текущую метку страницы сообщение типа.

<?php $post_type = get_post_type_object(get_post_type(get_the_ID())); 
     echo $post_type->labels->singular_name ; ?>