Я пытаюсь извлечь содержимое из значения ACF (расширенное настраиваемое поле) и обрезать его по количеству символов. Я хочу добавить усеченную строку с текстом «Подробнее», который использует значение href из другого поля ACF.
<?php
$content = get_field('app_description');
//^get $content from ACF field, no problem
echo mb_strimwidth($content, 0, 306, "... <a class=\"f-size14 external\" href=\"' . get_field('app_link') . '\">Read More</a>");
?>
Когда я это делаю, он отображается правильно, пока вы не нажмете ссылку «Подробнее». Выводит "https://demosite.com/page/%20.%20get_field(app_link"
Как я могу обрезать поле до количества символов и использовать другое значение / переменную для href?
Я также пытался добавить это в мои functions.php
function get_prod_desc( $count, $rmtext ) {
$link = get_field('app_link');
$excerpt = get_field('app_description');
$excerpt = strip_tags($excerpt);
$excerpt = substr($excerpt, 0, $count);
$excerpt = substr($excerpt, 0, strripos($excerpt, " "));
$excerpt = '<p>'.$excerpt.'... <a href="'.$link.'" class="f-size14 external">'. $rmtext .'</a></p>';
return $excerpt;
}
и вызывая его в моем шаблоне вот так
echo get_prod_desc(300, 'view more');
Результаты очень противоречивы с точки зрения фактического количества символов, и это добавляет «просмотреть больше» к блокам контента до 300.