possibly a cleaner way around this:
public function htmlspecialchars_decode_array($array){
$arrayJsonEncoded = json_encode($array,JSON_HEX_QUOT | JSON_HEX_APOS);
$arrayJsonEncodedSpecCharsDecoded = htmlspecialchars_decode($arrayJsonEncoded);
$arrayJsonDecoded = json_decode($arrayJsonEncodedSpecCharsDecoded,true);
return $arrayJsonDecoded;
}
At a quick glance it seems as though $double_encode should be set to false in the a couple of spots in the acf core when using htmlspecialchars:
http://php.net/manual/en/function.htmlspecialchars-decode.php
For now i just wrote a simple decode function that I run after get_field and before update_field:
public function htmlspecialchars_decode_array($array){
$newArray = array();
foreach($array as $arrayKey => $arrayVal){
$newArray[$arrayKey] = htmlspecialchars_decode($arrayVal);
}
return $newArray;
}
did you ever accomplish this? im in the same boat.
kinda basic and not really tested that much, but this may help some people out getting started:
https://github.com/erickertz/acf-hidden
I realized that I had to use register_field_group within the admin_init hook for it to work. Hope this helps someone else.