Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rich text content was mangled with wp_update_post #1257

Open
DevAndreyBilchenko opened this issue Sep 24, 2024 · 0 comments
Open

Rich text content was mangled with wp_update_post #1257

DevAndreyBilchenko opened this issue Sep 24, 2024 · 0 comments

Comments

@DevAndreyBilchenko
Copy link

Version

  • Carbon Fields: 3.6.5
  • WordPress: 6.6.2
  • PHP: 7.4

Expected Behavior

<!-- wp:carbon-fields/crb-test {"data":{"crb_text":"\u003cp\u003esome text\u003c/p\u003e"}} /-->

Actual Behavior

<!-- wp:carbon-fields/crb-test {"data":{"crb_text":"u003cpu003esome textu003c/pu003e"}} /-->

Gutenberg block definition

<?php

use Carbon_Fields\Block;
use Carbon_Fields\Field;

Block::make("crb_test", "TEST")
    ->add_fields(array(
        Field::make('rich_text', 'crb_text', "Content")
            ->set_width(100)
    ))
    ->set_mode('preview')
    ->set_category('theme-blocks')
    ->set_render_callback(function ($fields, $attributes, $inner_blocks) {
?>
    <div>
        <?= $fields['crb_text']; ?>
    </div>
<?php

Steps to Reproduce the Problem

  1. Create a page with crb_test block inside
  2. Fill text inside rich text. Check for the paragraph tag in text tab
  3. Call wp_update_post with post_content of created post
  4. Reload created page

Comments

I'm used this snipped for checking wp_update_post behavior.
functions.php

add_action('init', function () {
	$check = isset($_GET['test']);
	if (!$check) {
		return;
	}
	$created_post_id = 1245;
	$post = get_post($created_post_id);
	echo esc_html($post->post_content);

	if (has_blocks($post->post_content)) {
		wp_update_post([
			'ID' => $post->ID,
			'post_content' => $post->post_content
		]);
	}

	echo "<br>";
	$post = get_post($created_post_id);
	echo esc_html($post->post_content);

	exit(200);
});

Then visit website.com/?test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant