У меня есть раскрывающийся список навигации в верхней части темы, которую я разработал. В основном в навигации есть 2 столбца, в одном из которых отображаются восстановленные заголовки сообщений (что легко).
Однако я хотел бы отобразить заголовки сообщений и ссылку на конкретное сообщение, но поскольку пространство ограничено примерно 40 символами, а каждая ссылка отделена каналом, мне нужно решить, как отображать определенное количество сообщений. названия вписываются в мой лимит персонажей.
Обычно, если заголовок сообщения занимает 40 символов, я не хочу отображать какие-либо другие заголовки, в основном мне нужно объединить длину всех заголовков сообщений и определить, какие из них могут отображаться в соответствии с лимитом символов. ограничения.
Пример того, что я имею в виду в случае, если вы еще не понимаете, что я пытаюсь сделать.
СООБЩЕСТВО Заголовок сообщения | Еще один пост заголовок
У меня есть следующий код, который выполняет извлечение сообщений, а затем подсчитывает общее количество символов в заголовках. Я не могу заставить его выводить ссылки, разделенные каналами, с применением ограничения символов.
/* Fetches all post data from the Wordpress DB */
$fetched_posts = array(
'community' => get_posts('numberposts=3&tag=community'),
'communication' => get_posts('numberposts=3&tag=communication'),
'energy' => get_posts('numberposts=3&tag=energy'),
'health' => get_posts('numberposts=3&tag=health'),
'prosperity' => get_posts('numberposts=3&tag=prosperity'),
'simplicity' => get_posts('numberposts=3&tag=simplicity'),
'materials' => get_posts('numberposts=3&tag=materials'),
'mobility' => get_posts('numberposts=3&tag=mobility'),
'aesthetic' => get_posts('numberposts=3&tag=aesthetic')
);
// Convert all array entries into variables
extract($fetched_posts);
/**
* Show menu items will output items from a particular tagged category
* but only as many that will fit in the navigation menu space.
*
* @param mixed $object
* @param mixed $maximum
*/
function show_menu_items($object, $maximum = 40) {
// Number of elements in the array
$total = 0;
// Total number of characters we've counted
$counted = 0;
// Store all of the titles for this particular object
foreach ($object as $object) {
$post_titles[] = $object->post_title;
}
// Store the total number of elements in the array
$total = count($post_titles);
// For every post title found count the characters
foreach ($post_titles as $post_title) {
if (strlen($post_title) )
$counted = $counted + strlen($post_title);
}
echo $counted;
}