Мне помогло вот такое тройное экранирование:
$json_string = "{
\"title\":\"$post_title\",
\"categories\":\"$categories_id\",
\"status\":\"publish\",
\"acf\": $custom_fields,
\"featured_media\": \"$featured_media\",
\"slug\": \"uniq_url\",
\"content\": \"Текст статьи [acf field=\\\"table_all\\\"]\"
}";