Я создал ACF True/False поля, которое прилагается к своим пользователям. Это используется как параметр уровня доступа, поэтому, если параметр имеет значение «Истина», он увидит ссылку в меню, если false, он увидит ссылку возврата.Если заявление для True/False поля пользователя не будет работать
Ниже приведен код IV добавил к моей functions.php, где IV создал шорткод: «customLink», который затем добавляется к моей ссылке меню. Ниже приведено то, что у меня есть, что, надеюсь, показывает, что я пытаюсь сделать. Если пользователи играют роль «my_custom_role», то для получения значения ACF и если true, укажите одну ссылку, а если false, укажите другую.
add_shortcode('customLink', 'cm_link');
function cm_link($atts) {
$atts = shortcode_atts(array('title' => 'Custom Link', 'fallbackurl' => '#'), $atts, 'customLink');
$advcontent = get_field('acf_field', $current_user->ID);
$user = wp_get_current_user();
if (!empty($user->roles) && is_array($user->roles)) {
foreach ($user->roles as $role) {
if ($role=='my_custom_role') {
if ($advcontent == 'true') {
return "<a href='/my-link/'>".$atts['title']."</a>";
}
if ($advcontent == 'false') {
return "<a>".$atts['title']."</a>";
}
}
}
}
}
Iv также попытался ниже, но не повезло:
add_shortcode('customLink', 'cm_link');
function cm_link($atts) {
$atts = shortcode_atts(array('title' => 'Custom Link', 'fallbackurl' => '#'), $atts, 'customLink');
$advcontent = $_POST['acf']['field_58061ec5608bd'];
if ($advcontent == 'true') {
return "<a href='/my-link'>".$atts['title']."</a>";
} else {
return "<a>".$atts['title']."</a>";
}
}
'print_r ($ _ POST)' отлаживать это и где и определить это '$ current_user' ?, предложить U добавить PHP error_reporting() и ошибки ЧК – devpro