当前函数保存最后一段post。如何强制函数保存第一个段落块?
Current function saves the last paragraph of a post. How to force a function to save the first paragrapgh block?
我有一个函数,假设采用 post 的第一段块并将其保存到自定义字段。但是,我遇到的问题是它保存了 post.
的最后一段
因此,如果我有一个包含三个段落块的 post:
paragraph 1
paragraph 2
paragraph 3
它会将最后一段保存到一个字段中。
这是我使用的函数:
function post_extra_save( $post_id, $post){
if ( has_blocks( $post->post_content ) ) {
$blocks = parse_blocks( $post->post_content );
foreach ( $blocks as $block ) {
if ( $block['blockName'] === 'core/paragraph' ) { // name of block
$media_video_url = strip_tags($block['innerHTML']);
update_field('field_6074e55c6618f', $media_video_url, $post_id);
};
}
};
add_action( 'save_post', 'post_extra_save', 10, 2 );
如何修复它以保存第一个段落块而不是最后一个?
在update_field
之后添加break
语句。检查下面的代码。
function post_extra_save( $post_id, $post){
if ( has_blocks( $post->post_content ) ) {
$blocks = parse_blocks( $post->post_content );
foreach ( $blocks as $block ) {
if ( $block['blockName'] === 'core/paragraph' ) { // name of block
$media_video_url = strip_tags($block['innerHTML']);
update_field('field_6074e55c6618f', $media_video_url, $post_id);
break;
}
}
}
}
add_action( 'save_post', 'post_extra_save', 10, 2 );
我有一个函数,假设采用 post 的第一段块并将其保存到自定义字段。但是,我遇到的问题是它保存了 post.
的最后一段因此,如果我有一个包含三个段落块的 post:
paragraph 1
paragraph 2
paragraph 3
它会将最后一段保存到一个字段中。
这是我使用的函数:
function post_extra_save( $post_id, $post){
if ( has_blocks( $post->post_content ) ) {
$blocks = parse_blocks( $post->post_content );
foreach ( $blocks as $block ) {
if ( $block['blockName'] === 'core/paragraph' ) { // name of block
$media_video_url = strip_tags($block['innerHTML']);
update_field('field_6074e55c6618f', $media_video_url, $post_id);
};
}
};
add_action( 'save_post', 'post_extra_save', 10, 2 );
如何修复它以保存第一个段落块而不是最后一个?
在update_field
之后添加break
语句。检查下面的代码。
function post_extra_save( $post_id, $post){
if ( has_blocks( $post->post_content ) ) {
$blocks = parse_blocks( $post->post_content );
foreach ( $blocks as $block ) {
if ( $block['blockName'] === 'core/paragraph' ) { // name of block
$media_video_url = strip_tags($block['innerHTML']);
update_field('field_6074e55c6618f', $media_video_url, $post_id);
break;
}
}
}
}
add_action( 'save_post', 'post_extra_save', 10, 2 );