Como posso criar modelos personalizados na postagem?

Eu escrevo posts sobre matemática e ciência da computação. Muitas dessas postagens precisam de algum conhecimento prévio. Gostaria de criar uma checkbox para alguns artigos com links para esses conceitos básicos, ao contrário do UbuntuUsers . Em meus artigos, eu gostaria de adicioná-los assim

{{previousKnowledge|first|second}} 

Existe um plugin para esta tarefa?

Posso criar um modelo personalizado que basicamente substitua este texto pelo seguinte?

  

Solutions Collecting From Web of "Como posso criar modelos personalizados na postagem?"

Em primeiro lugar: ideia legal. Não sei se existe um plugin para esta tarefa, mas eu simplesmente implementaria isso como um novo pequeno plugin.

Eu recomendaria alterar sua syntax, de modo que não inclua links como html.

Eu mudei para:

 {{previousKnowledge|first=...|second=...}} 

Aqui está a minha primeira abordagem simples:

 < ?php /* Plugin Name: Previous Knowledge Plugin URI: TODO Description: TODO Author: xaeDes Version: 0.1 Author URI: TODO License: GPL2 */ function previous_knowledge_preg_replace_callback( $matches ) { //$matches[1] contains the '...' in '{{previousKnowledge|...}}' $items = explode("|", $matches[1]); $replaced = '
    '; foreach( $items as $item ) { $item_info = explode("=",$item); $replaced .= "
  • ${item_info[0]}
  • "; } $replaced .= '
'; return $replaced; } /** * Looks for occurrences of {{previousKnowledge|...}} tags and replaces them by html. * @param string $content * @return string */ function previous_knowledge_content_filter( $content ) { return preg_replace_callback('#{{previousKnowledge\\s*\\|(.+)}}#i','previous_knowledge_preg_replace_callback', $content); } add_filter( 'the_content' , 'previous_knowledge_content_filter' ); ?>

Testei com o seu exemplo e funciona.

Você pode alterar o html de saída em previous_knowledge_preg_replace_callback (…).

Como instalá-lo em seu wordpress:

  1. Crie uma pasta chamada ‘conhecimento anterior’ (ou qualquer nome que você considere apropriado) em wp-contents / plugins /.

  2. Crie um arquivo php chamado previous_knowledge.php dentro desta pasta e cole o código no arquivo.

  3. Agora você só precisa ativá-lo e colocar “{{previousKnowledge | first = … | second = …}}” em suas postagens ou páginas.

Você quer mais explicações?

Talvez algo assim:

 function previousKnowledge_shortcode( $atts ) { extract( shortcode_atts( array( 'urls' => '', 'titles' => '' ), $atts ) ); $url = explode("|", $urls); $title = explode("|", $titles); $c = count($url) - 1; $code = '
    '; for ($i = 0; $i < = $c; $i++) { $b = $i +1; $code .= '
  • '.$title[$i].''; } $code .= '
'; return $code; } add_shortcode( 'previousKnowledge', 'previousKnowledge_shortcode' );

o código curto será: [previousKnowledge urls = “http: //www.site.com | http: //www.site2.com | http: //www.site3.com” titles = “site1 | site2 | site3” ]

e irá preduzir o HTML:

  

AVISO: testei isso, então funciona :). Deixe-me saber se isso ajuda.