gpt4 book ai didi

php - 如何在涉及多个 get_terms() 的 WordPress 函数中返回多个值

转载 作者:行者123 更新时间:2023-12-04 16:08:05 26 4
gpt4 key购买 nike

目的是生成一个 html 表,其中包含 WordPress 函数 get_terms 检索到的信息。它创建一个表格图标图例,并以 html 格式呈现。在这里,我正在创建一个短代码以在需要时调用此函数。

但是,作为 PHP 编程的新手,我不知道如何正确地实现它,因为我在 PHP 编程中面临一个函数不能返回多个值的约束。请修改以下代码以实现其意图,我认为这是明确的,即使代码无效。

<?php
// Custom function to compile post icons legend table - added by you 18 Dec 2017
function compile_post_icons_legend_table() {
return'<div class="narrowed">
<h2 class="right-widget-title">Post Icons Legend</h2>
<table class="post-icons-legend">';

$terms = get_terms([
'taxonomy' => 'std_or_youtube',
'hide_empty' => false,
]);
foreach ( $terms as $term ) {
return '<tr><td><div class="small-svg-icon-container"><svg><use width = "24" height ="24" xlink:href="https://www.ashenglowgaming.com/wp-content/plugins/wp-svg-spritemap-master/defs.svg#:'.$term->slug.'"></svg></div></td><td>'.$term->description.'</td></tr>';
}

$terms = get_terms([
'taxonomy' => 'content',
'hide_empty' => false,
]);
foreach ( $terms as $term ) {
return '<tr><td><div class="small-svg-icon-container"><svg><use width = "24" height ="24" xlink:href="https://www.ashenglowgaming.com/wp-content/plugins/wp-svg-spritemap-master/defs.svg#:'.$term->slug.'"></svg></div></td><td>'.$term->description.'</td></tr>';
}
return
'</table>
</div>';
}
add_shortcode('post_icons_legend_table', 'compile_post_icons_legend_table');
?>

最佳答案

我可以在这里看到您要做什么。而不是 return在每一步(您发现它无法正常工作),您应该创建一个名为 $output = ""; 的变量, 然后代替每个 return , 使用 .= 附加到输出字符串运营商喜欢 $output .= '< new stuff ...>';

最后,在函数的最后return $output;返回您构建的完整 HTML 字符串。

function compile_post_icons_legend_table() {
// Initialize a variable to build your output string
$output = "";

// Its starting value...
$output = '<div class="narrowed">
<h2 class="right-widget-title">Post Icons Legend</h2>
<table class="post-icons-legend">';

$terms = get_terms([
'taxonomy' => 'std_or_youtube',
'hide_empty' => false,
]);

foreach ( $terms as $term ) {
// Add to the string rather than return it
$output .= '<tr><td><div class="small-svg-icon-container"><svg><use width = "24" height ="24" xlink:href="https://www.ashenglowgaming.com/wp-content/plugins/wp-svg-spritemap-master/defs.svg#:'.$term->slug.'"></svg></div></td><td>'.$term->description.'</td></tr>';
}

$terms = get_terms([
'taxonomy' => 'content',
'hide_empty' => false,
]);

foreach ( $terms as $term ) {
// Again, add to it rather than return
$output .= '<tr><td><div class="small-svg-icon-container"><svg><use width = "24" height ="24" xlink:href="https://www.ashenglowgaming.com/wp-content/plugins/wp-svg-spritemap-master/defs.svg#:'.$term->slug.'"></svg></div></td><td>'.$term->description.'</td></tr>';
}
// Final closing html tags appended...
$ouptut .= '
</table>
</div>';

// Finally, return the whole HTML string you've built
return $output;
}

关于php - 如何在涉及多个 get_terms() 的 WordPress 函数中返回多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47860322/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com