From d69e56aff93ef72a27178d4dee170608c761f40f Mon Sep 17 00:00:00 2001 From: Simon Kraft Date: Sat, 13 Jun 2026 11:21:07 +0200 Subject: [PATCH 1/2] Show post titles instead of URLs in widget The dashboard widget listed top targets by raw URL. Resolve each target's post title in Statify_Dashboard::select_data() via the same Statify_Evaluation::post_title() helper the content views already use, and prefer it in the widget's top list (renderTopList). Title lookups run inside the existing statify_data transient, so they happen at most once per cache window over `limit` rows rather than on every dashboard render. Referrer rows are unaffected. Fixes #78 --- inc/class-statify-dashboard.php | 9 +++++++++ js/dashboard.js | 9 +++++---- 2 files changed, 14 insertions(+), 4 deletions(-) mode change 100755 => 100644 inc/class-statify-dashboard.php diff --git a/inc/class-statify-dashboard.php b/inc/class-statify-dashboard.php old mode 100755 new mode 100644 index 7866274..221fcbd --- a/inc/class-statify-dashboard.php +++ b/inc/class-statify-dashboard.php @@ -252,6 +252,15 @@ private static function select_data(): array { ); } + // Resolve post titles for the top targets. + // This runs over at most `limit` rows and is cached together with the + // rest of the widget data (see get_stats()), so the lookups happen only + // once per cache lifetime instead of on every dashboard render. + foreach ( $data['target'] as &$target ) { + $target['title'] = Statify_Evaluation::post_title( $target['url'] ); + } + unset( $target ); + if ( $show_totals ) { $data['visit_totals'] = array( 'today' => $wpdb->get_var( diff --git a/js/dashboard.js b/js/dashboard.js index f3896cd..c4f4f2b 100644 --- a/js/dashboard.js +++ b/js/dashboard.js @@ -532,8 +532,8 @@ /** * Render top list table. * - * @param {HTMLTableElement} table Table element. - * @param {{count: number, url: string, host: ?string}[]} data Data to display. + * @param {HTMLTableElement} table Table element. + * @param {{count: number, url: string, host: ?string, title: ?string}[]} data Data to display. */ function renderTopList(table, data) { const rows = data.map((r) => { @@ -544,15 +544,16 @@ row.appendChild(col); col = document.createElement('TD'); col.classList.add('t'); + const label = r.title || r.host || r.url; if (/^((https?:)?\/)?\//i.test(r.url)) { const link = document.createElement('A'); link.href = r.url; link.target = '_blank'; link.rel = 'noopener noreferrer'; - link.textContent = r.host || r.url; + link.textContent = label; col.appendChild(link); } else { - col.textContent = r.host || r.url; + col.textContent = label; } row.appendChild(col); return row; From f3196b9dabdc9f0526b42c7645b85899ff582630 Mon Sep 17 00:00:00 2001 From: Stefan Kalscheuer Date: Sun, 14 Jun 2026 16:30:26 +0200 Subject: [PATCH 2/2] docs: update screenshots for target titles --- .wordpress-org/screenshot-1.png | Bin 17697 -> 18510 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.wordpress-org/screenshot-1.png b/.wordpress-org/screenshot-1.png index 12a19e9297990c5eabfe5853f1d80464fb53872a..1c61680d710c53b7106e47c3f5396caab18fdbf2 100644 GIT binary patch literal 18510 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 Rcti;UgQu&X%Q~loCII7BV>JK(