开发一个插件来处理woocommerce产品标签。
在wp admin edit product页面中,我根据一个名为_tab_count
. 所以如果_tab_count
设置为2
-- 负载2
编辑等。
我遇到的问题是,只有第一个编辑器可以作为富文本进行编辑,而文本/视觉切换仅适用于第一个编辑器。
文本/视觉按钮显示在其他编辑器中,但单击时,它们都会切换到第一个编辑器。
此外,富文本编辑器按钮仅在第一个编辑器中显示。(参见屏幕截图)
这里是我的php加载编辑器,我试图只粘贴相关的代码片段。
function benz_meta_box_markup($object) {
wp_nonce_field(basename(__FILE__), "meta-box-nonce");
global $post;
$benz_tab_count = get_post_meta( $post->ID, \'_tab_count\', true );
for ( $x = 0; $x < $benz_tab_count; $x++ ) {
$y=$x+1;
$benz_tab_content = get_post_meta( $post->ID, "_tabs_content_$y", true );
if ( ! $benz_tab_content ) {
$benz_tab_content = \'\';
}
$settings = array( \'textarea_name\' => "benz-product-tabs-details_$y" );
?>
<tr class="form-field">
<th scope="row" valign="top"><label for="benz-product-tabs-details_<?php echo $y ;?>">Tab <?php echo $y ;?> Content: </label></th>
<td>
<?php wp_nonce_field( basename( __FILE__ ), "benz_product_tabs_details_nonce_$y" ); ?>
<?php wp_editor( wp_kses_post( $benz_tab_content ), \'benz_tab_content\', $settings ); ?>
</td>
</tr>
<?php
} // end for loop
} //custom_meta_box_markup
我已经创建了此代码-基于此
post 然而,在上面的帖子中,这个字段只添加了一次,并且添加到了一个类别(术语)而不是一个产品(帖子)
如果您有任何意见,请告诉我,谢谢阅读。
最合适的回答,由SO网友:RobBenz 整理而成
https://codex.wordpress.org/Function_Reference/wp_editor
wp\\u editor()函数的第二个参数是editor
ID
在上面的for循环中,所有编辑器都具有相同的ID
正在更改
<?php wp_editor( wp_kses_post( $benz_tab_content ), \'benz_tab_content\', $settings ); ?>
至
<?php wp_editor( wp_kses_post( $benz_tab_content ), "benz_tab_content_$y", $settings ); ?>
允许我给每个编辑器一个唯一的ID——每个计数变量。
编辑器(根据需要)现在可以正常加载。
将此保留下来,以帮助其他希望动态创建wp_editor()
基于计数循环的字段