詳細検索

Códigos rápidos do WordPress que mostram "NOVO" se conterem as postagens mais recentes de cada categoria

Avatar
por maeno
3 min de leitura

Códigos rápidos do WordPress que mostram "NOVO" se conterem as postagens mais recentes de cada categoria
Traduzido do 日本語 • Ver original

[legenda ID="attachment_364" align="alignleft" width="320"]

特定カテゴリーに新着投稿があればNEWを表示するショートコード[/legenda]

Quando reconstruímos nossa intranet com WordPress, um dos pedidos foi exibir a marca "NOVO" na lista de categorias do menu, que fica como uma barra lateral se contiver as postagens mais recentes de cada categoria.
Então, criei um shortcode que especifica uma categoria específica e exibe a marca "NOVO" ao lado do nome da categoria se as postagens dessa categoria contêm a mais recente, então vou compartilhar aqui. Como extensão, você também pode contar o número de postagens mais recentes em uma categoria e exibir esse número (você também pode exibi-lo como o ícone de última não lida exibido em um menu do Facebook, etc.).

Procurei por vários shortcodes, mas há muitos shortcodes que exibem "NOVO" ao lado da lista de artigos no WordPress, mas todos são os julgamentos mais recentes da lista de artigos, e não consegui encontrar nenhum shortcode para os julgamentos mais recentes de categorias, então decidi criar o meu próprio.
Usei referência a um artigo chamado "4 Maneiras de Exibir Novo! no WordPress" introduzido na comunidade WordPress de Kunitoshi Hoshino. O site dele introduziu DICAS para pedidos e necessidades únicas dos sites corporativos WordPress, o que foi muito útil.

[php highlight="2-37,38"] function addnew($attr, $content){ extract(shortcode_atts(array( 'slug' => '', 'ttype' => 'pub', 'term' => 7, 'vtype' => 'str', ), $atts)); $today = date_i18n('U'); $ttype = ($ttype!='pub') ? [eos]'mod' : 'pub'; [eos]$term = ($term!=7) ? [eos]intval($term) : 7; [eos]$vtype = ($vtype!='str') ? [eos]'num' : 'str'; [eos]$value = ($content!='') ? [eos]do_shortcode($content) : 'new'; [eos]global $post; [eos]$cats = get_category_by_slug($slug); if(!) $cats){ return ''; } else{ $cat = $cats->termo_id; if(!» $cat) return ''; } $last_post_ids = array(); $lastposts = get_posts('category='$cat); foreach($lastposts as $lastpost) : $entry = ($ttype == 'pub') ? date_i18n('U', strtotime($lastpost->post_date)) : date_i18n('U', strtotime($lastpost->post_modified)); $interval = date('U', ($today - $entry)) / (60 * 60 * 24); if(intval($term) > $interval){ $last_post_ids[] = $lastpost->ID; } fimanteach; if(count($last_post_ids) > 0){ if($vtype == 'str'){ $retstr = $value; } else{ $retstr = count($last_post_ids); } } wp_reset_query(); if($retstr != '') retorne $retstr; } adicione_shortcode('adiciona', 'adiciona'); [/php]

Se quiser importá-lo para o plugin "Shortcode Exec PHP", por favor copie as linhas 2~38 do código-fonte acima ou importe este arquivo XML da tela de administração (*Ele será importado sob o nome "addnew", então, se já houver um shortcode com o mesmo nome, ele será sobrescrevido. Por favor, note).
Um exemplo de como usar um shortcode em ação é mostrado abaixo.

  1. Exibir "novo" se a categoria especificada contiver posts dentro de 7 dias após a data de publicação.

    [code lang="html" light="true"]

  2. Nome da Categoria[addnew slug="nome do slug da categoria"]
  3. [/código]

  4. Se a categoria especificada contiver posts dentro de 7 dias da data de publicação, exiba o negrito "NEW!" [code lang="html" light="true"]

  5. Nome da categoria [addnew slug="nome do slug da categoria"]NOVO! [/addnew]
  6. [/código]

  7. Mostrar o número de postagens na categoria especificada que foram atualizadas pela última vez em até 3 dias.

    [code lang="html" light="true"]

  8. Nome da categoria [addnew slug="nome do slug da categoria" ttype="mod" term="3" vtype="num"][/addnew]
  9. [/código]

  10. Mostrar links de categoria se a categoria especificada contiver posts dentro de 5 dias da data de publicação

    [code lang="html" light="true"] [addnew slug="nome do slug da categoria" ttype="pub" term="5" vtype="str"]

  11. Nome da Categoria
  12. [/addnew] [/código]

  13. Se a categoria especificada contiver posts que foram atualizados pela última vez em até 7 dias, insira uma tag SPAN para exibir o ícone do número antes do link.

    [code lang="html" light="true"] [addnew slug="category slug name" ttype="mod" vtype="str"] [addnew slug="category slug name" vtype="num"] [/addnew]nome da categoria [/code]

Você pode aninhar shortcodes, então acho que pode ser usado em vários casos dependendo de como você usa.

<

p style="text-indent:1em;"> Se você quiser usar um shortcode em um widget, como uma barra lateral, por favor, adicione o seguinte código ao function.php do tema que está usando.
[php light="true"] add_filter('widget_text', 'do_shortcode'); [/php]

Related Articles