我编写了一个自定义短代码(见下文),并将其放置在函数中。我的孩子主题的php文件。
快捷码的目的是检索以前创建的自定义帖子的标题。在这种情况下,我创建的自定义帖子类型根据帖子的ID命名为“publications\\u test”
例如,[testshorctode id=427]
将输出ID为427的帖子的标题。不幸的是,代码正在生成一个WSOD,我不确定哪里出了问题。
任何帮助都将不胜感激。我绝不是一个网络开发人员,所以我为任何明显的错误道歉。
function register_shortcodes() {
add_shortcode( \'testshortcode\', \'testshortcode_function\' );
}
add_action( \'init\', \'register_shortcodes\' );
function testshortcode_function($atts) {
extract( shortcode_atts(
\'post_type\' => \'publications_test\',
\'post_status\' => \'publish\'
\'id\' => \'\',
);
global $post;
$string = \'\';
$query = new WP_Query( $atts );
if( $query->have_posts() ){
$string .= \'<ul>\';
while( $query->have_posts() ){
$query->the_post();
$string .= \'<li>\' . get_the_title() . \'</li>\';
}
$string .= \'</ul>\';
}
wp_reset_postdata();
return $string;
}
SO网友:mrben522
extract( shortcode_atts(
\'post_type\' => \'publications_test\',
\'post_status\' => \'publish\'
\'id\' => \'\',
);
以上是错误的。在该函数中有一个数组,但它不在实际数组中。请尝试以下操作:
extract( shortcode_atts(array(
\'post_type\' => \'publications_test\',
\'post_status\' => \'publish\',
\'id\' => \'\',
), $atts, \'testshortcode\');
shortcode atts