我试图在一个自定义帖子类型中输出ACF插件创建的两个自定义字段的值。我实际上需要在弹出窗口中显示这个。wordpress弹出式插件不支持php代码,只能从内容编辑器中调用短代码。因此,我试图创建一个快捷码,以便在弹出窗口的编辑器中显示自定义字段的值。我知道我们可以生成短代码[cite]
在主题函数中使用此代码。php
function cite_shortcode() {
}
add_shortcode( \'cite\', \'cite_shortcode\' );
但我不知道如何将php代码添加到该代码中。我试着做一些类似的事情:
function cite_shortcode() {
<div>
<?php
$object_terms = wp_get_object_terms( $post->ID, \'issue\', array( \'fields\' => \'all\' ) );
if ( $object_terms ) {
$res = \'\';
foreach ( $object_terms as $term ) {
if ( $term->parent ) {
$res .= $term->name . \', \';
}
}
echo rtrim($res,\' ,\');
}
?>), pp: <?php the_field(\'first_page\'); ?>-<?php the_field(\'last_page\'); ?>
</div>
}
add_shortcode( \'cite\', \'cite_shortcode\' );
但它没有起作用。它显示:
分析错误:语法错误,意外
所以,我的问题是:
我如何才能使代码正常工作是否可以将php代码放入cite中。php文件,并通过函数中生成的短代码输出其值。php?如何做到这一点向您问好
SO网友:Qaisar Feroz
我如何才能使代码正常工作
function cite_shortcode($atts) {
$output = \'<div>\';
$object_terms = wp_get_object_terms( $post->ID, \'issue\', array( \'fields\' => \'all\' ) );
if ( $object_terms ) {
$res = \'\';
foreach ( $object_terms as $term ) {
if ( $term->parent ) {
$res .= $term->name . \', \';
}
}
$output .= rtrim($res,\' ,\');
}
$output .= \'pp: \'.get_the_field(\'first_page\') . \'-\' . get_the_field(\'last_page\');
$output .= \'</div>\';
return $output ;
}
add_shortcode( \'cite\', \'cite_shortcode\' );
是否可以将php代码放入cite中。php文件,并通过函数中生成的短代码输出其值。php?如何做到这一点在这种情况下,您可以在短代码中包含php文件,类似于此代码
function cite_shortcode($atts) {
$output = \'\';
ob_start();
include "yourphpfile.php"; // Replace with exact location of php file
$output .= ob_get_clean();
return $output ;
}
add_shortcode( \'cite\', \'cite_shortcode\' );
我希望这有帮助。