| Server IP : 207.135.97.11 / Your IP : 172.19.0.1 Web Server : LiteSpeed System : Linux 6d372a2d2e33 5.14.0-611.24.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jan 23 11:42:43 UTC 2026 x86_64 User : nobody ( 65534) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/html/ed.net.au/wp-content/themes/evoke-dialogue/ |
Upload File : |
<?php
/**
* Generic page template.
*/
if (!defined('ABSPATH')) {
exit;
}
if (!function_exists('evoke_dialogue_summary_text')) {
/**
* Build a plain-text summary for cards.
*/
function evoke_dialogue_summary_text($post_id, $words = 26) {
$excerpt = trim(get_the_excerpt($post_id));
if (!empty($excerpt)) {
return wp_strip_all_tags($excerpt);
}
$content = get_post_field('post_content', $post_id);
return wp_trim_words(wp_strip_all_tags($content), $words);
}
}
if (!function_exists('evoke_dialogue_full_text')) {
/**
* Build full plain-text content for long-form cards.
*/
function evoke_dialogue_full_text($post_id) {
$content = trim((string) wp_strip_all_tags(get_post_field('post_content', $post_id)));
if (!empty($content)) {
return $content;
}
$excerpt = trim((string) get_the_excerpt($post_id));
if (!empty($excerpt)) {
return wp_strip_all_tags($excerpt);
}
return '';
}
}
get_header();
$slug = get_post_field('post_name', get_the_ID());
$intros = array(
'services' => 'Structured interventions designed to improve customer outcomes through system-level redesign.',
'recent-works' => 'A sample of transformation engagements across customer experience, leadership, and operating model design.',
'case-outcomes' => 'A sample of transformation engagements across customer experience, leadership, and operating model design.',
'team-members' => 'Evoke Dialogue is led by practical transformation expertise grounded in real-world delivery and measurable impact.',
'about-us' => 'Evoke Dialogue is led by practical transformation expertise grounded in real-world delivery and measurable impact.',
'clients' => 'Organisations across industries trust Evoke Dialogue to move from repeated failure demand to sustainable performance.',
'testimonials' => 'What leaders say after moving from reactive workarounds to systemic change.',
'contact' => 'If you are ready to reframe recurring service issues as a transformation opportunity, start the conversation.',
'newsletter' => 'Get practical thinking on customer strategy, systems design, and leadership transformation.',
);
$intro = isset($intros[$slug]) ? $intros[$slug] : get_the_excerpt();
?>
<div class="ed-wrap">
<?php while (have_posts()) : the_post(); ?>
<header class="ed-page-hero">
<span class="ed-eyebrow"><?php echo esc_html($slug === 'contact' ? 'Start The Conversation' : 'Evoke Dialogue'); ?></span>
<h1><?php the_title(); ?></h1>
<?php if (!empty($intro)) : ?>
<p class="ed-page-intro"><?php echo esc_html($intro); ?></p>
<?php endif; ?>
</header>
<section class="ed-content">
<article class="ed-section">
<?php the_content(); ?>
</article>
<?php if ($slug === 'services') : ?>
<?php
$services = new WP_Query(
array(
'post_type' => 'service',
'post_status' => 'publish',
'posts_per_page' => -1,
'orderby' => array(
'menu_order' => 'ASC',
'date' => 'ASC',
),
)
);
?>
<?php if ($services->have_posts()) : ?>
<section class="ed-section">
<h2>Services</h2>
<div class="ed-grid-3">
<?php while ($services->have_posts()) : $services->the_post(); ?>
<?php $icon = trim((string) get_post_meta(get_the_ID(), 'mt_services_icon', true)); ?>
<article class="ed-card">
<?php if (!empty($icon)) : ?>
<span class="ed-service-icon" aria-hidden="true">
<i class="fa <?php echo esc_attr(evoke_dialogue_service_icon_class($icon)); ?>"></i>
</span>
<?php endif; ?>
<h3><?php the_title(); ?></h3>
<p><?php echo esc_html(evoke_dialogue_summary_text(get_the_ID(), 24)); ?></p>
</article>
<?php endwhile; ?>
</div>
</section>
<?php endif; ?>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
<?php if (in_array($slug, array('recent-works', 'case-outcomes'), true)) : ?>
<?php
$projects = new WP_Query(
array(
'post_type' => 'project',
'post_status' => 'publish',
'posts_per_page' => -1,
'orderby' => array(
'menu_order' => 'ASC',
'date' => 'ASC',
),
)
);
?>
<?php if ($projects->have_posts()) : ?>
<section class="ed-section">
<h2>Case Outcomes</h2>
<div class="ed-grid-2">
<?php while ($projects->have_posts()) : $projects->the_post(); ?>
<?php $image_markup = evoke_dialogue_post_card_image(get_the_ID(), 'medium_large'); ?>
<?php $project_url = evoke_dialogue_legacy_permalink(get_the_ID()); ?>
<article class="ed-card">
<?php if (!empty($image_markup)) : ?>
<div class="ed-card-media">
<a href="<?php echo esc_url($project_url); ?>"><?php echo wp_kses_post($image_markup); ?></a>
</div>
<?php endif; ?>
<h3><a href="<?php echo esc_url($project_url); ?>"><?php the_title(); ?></a></h3>
<p><?php echo esc_html(evoke_dialogue_summary_text(get_the_ID(), 24)); ?></p>
</article>
<?php endwhile; ?>
</div>
</section>
<?php endif; ?>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
<?php if (in_array($slug, array('team-members', 'about', 'about-us'), true)) : ?>
<?php
$members = new WP_Query(
array(
'post_type' => 'member',
'post_status' => 'publish',
'posts_per_page' => -1,
'orderby' => array(
'menu_order' => 'ASC',
'date' => 'ASC',
),
)
);
?>
<?php if ($members->have_posts()) : ?>
<section class="ed-section">
<h2>Team Members</h2>
<div class="ed-grid-3">
<?php while ($members->have_posts()) : $members->the_post(); ?>
<?php
$member_id = get_the_ID();
$member_email = trim((string) get_post_meta($member_id, 'mt-member-email', true));
$socials = array(
'LinkedIn' => trim((string) get_post_meta($member_id, 'mt-member-linkedin', true)),
'Instagram' => trim((string) get_post_meta($member_id, 'mt-member-instagram', true)),
'Facebook' => trim((string) get_post_meta($member_id, 'mt-member-facebook', true)),
'Twitter' => trim((string) get_post_meta($member_id, 'mt-member-twitter', true)),
);
if (strcasecmp(trim((string) get_the_title($member_id)), 'Alan Forbes') === 0 || strcasecmp($member_email, 'alan@ed.net.au') === 0) {
unset($socials['Twitter']);
}
?>
<article class="ed-card">
<?php $member_image = evoke_dialogue_post_card_image($member_id, 'medium'); ?>
<?php if (!empty($member_image)) : ?>
<div class="ed-card-media"><?php echo wp_kses_post($member_image); ?></div>
<?php endif; ?>
<h3><?php the_title(); ?></h3>
<p><?php echo esc_html(evoke_dialogue_full_text($member_id)); ?></p>
<?php if (!empty($member_email)) : ?>
<p class="ed-team-contact"><a href="mailto:<?php echo esc_attr(antispambot($member_email)); ?>"><?php echo esc_html($member_email); ?></a></p>
<?php endif; ?>
<div class="ed-socials">
<?php foreach ($socials as $label => $url) : ?>
<?php if (!empty($url)) : ?>
<a href="<?php echo esc_url($url); ?>" target="_blank" rel="noopener noreferrer"><?php echo esc_html($label); ?></a>
<?php endif; ?>
<?php endforeach; ?>
</div>
</article>
<?php endwhile; ?>
</div>
</section>
<?php endif; ?>
<?php wp_reset_postdata(); ?>
<?php
$clients = new WP_Query(
array(
'post_type' => 'client',
'post_status' => 'publish',
'posts_per_page' => -1,
'orderby' => array(
'menu_order' => 'ASC',
'date' => 'ASC',
),
)
);
?>
<?php if ($clients->have_posts()) : ?>
<section class="ed-section">
<h2>Clients</h2>
<div class="ed-client-grid">
<?php while ($clients->have_posts()) : $clients->the_post(); ?>
<?php $client_image = evoke_dialogue_post_card_image(get_the_ID(), 'medium'); ?>
<article class="ed-client-card">
<?php if (!empty($client_image)) : ?>
<div class="ed-client-media"><?php echo wp_kses_post($client_image); ?></div>
<?php endif; ?>
<span class="ed-chip"><?php the_title(); ?></span>
</article>
<?php endwhile; ?>
</div>
</section>
<?php endif; ?>
<?php wp_reset_postdata(); ?>
<?php
$testimonials = new WP_Query(
array(
'post_type' => 'testimonial',
'post_status' => 'publish',
'posts_per_page' => 3,
'orderby' => array(
'date' => 'DESC',
),
)
);
?>
<?php if ($testimonials->have_posts()) : ?>
<section class="ed-section">
<h2>What Clients Said</h2>
<div class="ed-grid-3">
<?php while ($testimonials->have_posts()) : $testimonials->the_post(); ?>
<article class="ed-card">
<p><?php echo esc_html(evoke_dialogue_full_text(get_the_ID())); ?></p>
<p class="ed-team-contact"><?php the_title(); ?></p>
</article>
<?php endwhile; ?>
</div>
</section>
<?php endif; ?>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
</section>
<?php endwhile; ?>
</div>
<?php
get_footer();