[英]Replacing string with variable in wordpress LaTeX shortcode
我正在构建一个短代码,使用一些预先保存的变量替换[LaTex]短代码中的某些文本。
输入的简码为:
[dynamic_latex][latex s=3]Q1A^{2}+5=Q1B[/latex][/dynamic_latex]
其中Q1A和Q1B应该用存储的用户元替换。
function latex_find_repalce($atts, $content, $tag) {
global $random_coefficient_A;
global $random_coefficient_B;
$new_LaTeX = str_replace('$a', $random_coefficient_A, $content);
$new_LaTeX = str_replace('$b', $random_coefficient_B, $new_LaTeX);
$keys = ['Q1A', 'Q1B', 'Q1C', 'Q1D', 'Q1E', 'Q1F', 'Q1G', 'Q2A', 'Q2B', 'Q2C', 'Q2D', 'Q2E', 'Q2F', 'Q2G', 'Q3A', 'Q3B', 'Q3C', 'Q3D', 'Q3E', 'Q3F', 'Q3G']; //Add as many as needed
foreach($keys as $key) {
$question_key = "key_{$key}"; //The key for the stored number
$replace_meta = get_user_meta( $user_id, $question_key, true );
$new_LaTeX = str_replace($key, $replace_meta, $new_LaTeX);
}//foreach
return '<span>' . do_shortcode($new_LaTeX) . '</span>';
}
add_shortcode('dynamic_latex', 'latex_find_repalce');
似乎删除了有问题的密钥,但是没有替换任何东西,而是将其留为空白。 如何用存储变量正确替换密钥(Q1A)? 还是我想念其他东西? 谢谢!
$ user_id未在函数中定义。
$user_id = get_current_user_id();
谢谢您的帮助! 我已经战斗了好几个小时
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.