首先合法化:我正在尝试为Wordpress学习PHP和Javascript。我已经找到了这个问题的答案,但由于我并没有真正理解PHP和JS,我找不到答案 - 即使我可能已经看过或读过它。
我在function.php文件中为自定义帖子类型创建了一个标题,之后我想将它插入到帖子的正文/内容中。
我使用相同的功能来替换标题和内容。
以下代码的作用是替换帖子的标题,但内容不是。
我认为jQuery会这样做,但也许内容的工作方式不同,或者我使用了错误的过程。
有人可以帮助我吗?
这是HTML:
//Add CARS meta boxes
add_action( 'add_meta_boxes' , 'car_meta_boxes' );
function car_meta_boxes() {
add_meta_box(
'car_info',
__( 'Car Info'),
'car_info_div',
'cars'
);
}
function car_info_div( $post ) {
// Use nonce for verification
wp_nonce_field( plugin_basename( __FILE__ ), 'car_noncename' );
//CARS Data Entry Fields
?>
<div>
<label for="car_calc_name"><?php _e("Car Name");?></label>
<input type="text" name="car_calc_name" value="<?php echo get_post_meta($post->ID, 'car_calc_name', true);?>" /><br>
<label for="car_calc_color"><?php _e("Car Color");?></label>
<input type="text" name="car_calc_color" value="<?php echo get_post_meta($post->ID, 'car_calc_color', true);?>" /><br>
<label for="car_calc_series"><?php _e("Car Series");?></label>
<input type="text" name="car_calc_series" value="<?php echo get_post_meta($post->ID, 'car_calc_series', true);?>" /><br>
<label for="car_calc_descript"><?php _e("Car Discription");?></label>
<input type="text" name="car_calc_descript" value="<?php echo get_post_meta($post->ID, 'car_calc_descript', true);?>" /><br>
<input type="button" value="Create" id="create" />
<input type="button" value="Replace" id="replace" />
</div>
<script type="text/javascript">
然后是PHP:
// Cars REPLACE Button
jQuery('#replace').click(function(){
//get the parts of the title
var cname = jQuery('input[name="car_calc_name"]').val();
var ccolor = jQuery('input[name="car_calc_color"]').val();
var cseries = jQuery('input[name="car_calc_series"]').val();
var cdescript = jQuery('input[name="car_calc_descript"]').val();
//Update title
var title = cname + ' - ' + ccolor + ' - ' + cseries + ' - ' + cdescript;
jQuery('input[name="post_title"]').focus().val(title);
jQuery('input[name="post_content"]').focus().val(title);
});
//-->
答案 0 :(得分:0)
您的代码对我来说没问题,但如果您发布了相关的HTML也很有帮助。帖子内容是否真的存储在input
元素中,而不是textarea
?如果是这种情况,您可以尝试使用jQuery('textarea[name="post_content"]').val(title);
。
你实际上并不需要.focus()位来设置值,没有它就可以工作。