Depuração de problemas de código curto

Estou tentando fazer com que alguns dos códigos Vários funcionem corretamente no meu site. Em particular, gostaria de usar as páginas shortcodes: [list-pages], [child-pages], [sibling-pages]. Estou usando um filho de twentyfifteen com mudanças mínimas no modelo (mudanças de fundo e fonte).

Aqui está o comportamento atual, com todos os meus plugins salvos para jetpack e akismet desativados, shortcode como [youtube] e [archives] renderizam corretamente. Eu também posso criar um shortcode no meu arquivo functions.php :

 function test_shortcode() {return 'Working';} add_shortcode('test_shortcode', 'test_shortcode'); 

Isso também funciona corretamente. Usando qualquer uma das páginas shortcodes, no entanto, retorna apenas o shortcode entre colchetes. Meu site atualmente contém algumas páginas de teste (2 pais, uma criança).

Eu confirmei (por meio da desativação) que meus plugins (salvar o Akismet) não alteram esse comportamento de shortcode. Eu também confirmei que o comportamento não é afetado pela localização (página / publicação / barra lateral), formato de publicação (padrão / lado) ou modelo (twentyfifteen / twentyfourteen / twentythirteen). Fiquei sem idéias de debugging neste momento.

Nota adicionada na prova: uma vez que a página de suporte que eu liguei acima não menciona especificamente outro plugue, presumi que esses códigos curtos foram integrados na atual plataforma WordPress e este plugin não é mais necessário. Estou incorreto nessa suposição?

Solutions Collecting From Web of "Depuração de problemas de código curto"

Como o @Milo disse, wordpress.com é uma plataforma por conta própria, e tudo disponível no wordpress.com está disponível apenas para sites hospedados no wordpress.com. O plugin Jetpack, no entanto, disponibiliza alguns resources para sites hospedados de si mesmo, mas eu não tenho certeza de quais deles.

Os códigos curtos de que você está falando estão disponíveis somente em sites hospedados com wordpress.com e não em sites autônomos.

Eu rapidamente reescrevi um script que fiz recentemente para procurar filtros e ações no WordPress para obter todos os códigos curtos disponíveis para sites autônomos. Aqui está a function

 function get_all_filters_and_actions2( $path = '' ) { //Check if we have a path, if not, return false if ( !$path ) return false; // Validate and sanitize path $path = filter_var( $path, FILTER_SANITIZE_URL ); /** * If valiadtion fails, return false * * You can add an error message of something here to tell * the user that the URL validation failed */ if ( !$path ) return false; // Get each php file from the directory or URL $dir = new RecursiveDirectoryIterator( $path ); $flat = new RecursiveIteratorIterator( $dir ); $files = new RegexIterator( $flat, '/\.php$/i' ); if ( $files ) { $output = ''; $array = []; foreach($files as $name=>$file) { /** * Match and return all instances of apply_filters(**) or do_action(**) * The regex will match the following * - Any depth of nesting of parentheses, so apply_filters( 'filter_name', parameter( 1,2 ) ) will be matched * - Whitespaces that might exist between apply_filters or do_action and the first parentheses */ // Use file_get_contents to get contents of the php file $get_file_contents = file( $file ); foreach ( $get_file_contents as $key=>$get_file_content ) { preg_match_all( '/add_shortcode\s*(\([^()]*(?:(?-1)[^()]*)*+\))/', $get_file_content, $matches ); if ( $matches[0] ) $array[$name][$key+1] = $matches[0]; } } if ( $array ) { foreach ( $array as $file_name=>$values ) { $output .= '
    '; $output .= 'File Path: ' . $file_name .''; $output .= 'The following shortcodes are available'; foreach ( $values as $line_number=>$string ) { $whitespaces = '       '; $output .= '
  • Line reference ' . $line_number . $whitespaces . $string[0] . '
  • '; } $output .= '
'; } } return $output; } return false; }

Como todos os códigos curtos disponíveis para o frontend devem estar no arquivo wp-includes , podemos executar a function da seguinte maneira: ( NOTA eu testei isso no localhost)

 echo get_all_filters_and_actions2( 'E:\xampp\htdocs\wordpress/wp-includes/' ); 

qual saída

 File Path: E:\xampp\htdocs\wordpress/wp-includes\class-wp-embed.php The following shortcodes are available Line reference 31 add_shortcode( 'embed', '__return_false' ) Line reference 60 add_shortcode( 'embed', array( $this, 'shortcode' ) ) File Path: E:\xampp\htdocs\wordpress/wp-includes\media.php The following shortcodes are available Line reference 1379 add_shortcode('wp_caption', 'img_caption_shortcode') Line reference 1380 add_shortcode('caption', 'img_caption_shortcode') Line reference 1490 add_shortcode('gallery', 'gallery_shortcode') Line reference 2021 add_shortcode( 'playlist', 'wp_playlist_shortcode' ) Line reference 2270 add_shortcode( 'audio', 'wp_audio_shortcode' ) Line reference 2525 add_shortcode( 'video', 'wp_video_shortcode' ) File Path: E:\xampp\htdocs\wordpress/wp-includes\shortcodes.php The following shortcodes are available Line reference 59 add_shortcode( 'footag', 'footag_func' ) Line reference 72 add_shortcode( 'bartag', 'bartag_func' ) Line reference 80 add_shortcode( 'baztag', 'baztag_func' ) Line reference 89 add_shortcode($tag, $func) 

Como os códigos curtos apanhados pela function em wp-includes\shortcodes.php são apenas amostras nos comentários, nós realmente temos apenas os seguintes shortcodes disponíveis por padrão em sites autônomos hospedados

  • [caption]

  • [gallery]

  • [playlist]

  • [audio]

  • [video]

  • [embed]

( NOTA: Isto é como no WordPress 4.4)