PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.3.1
GiveWP – Donation Plugin and Fundraising Platform v4.3.1
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / Campaigns / Blocks / CampaignGrid / CampaignGridShortcode.php
give / src / Campaigns / Blocks / CampaignGrid Last commit date
app 1 year ago CampaignGridShortcode.php 1 year ago app.tsx 1 year ago block.json 1 year ago edit.tsx 1 year ago index.tsx 1 year ago render.php 1 year ago types.ts 1 year ago
CampaignGridShortcode.php
91 lines
1 <?php
2
3 namespace Give\Campaigns\Blocks\CampaignGrid;
4
5 use Give\Framework\Support\Facades\Scripts\ScriptAsset;
6 use Give\Helpers\Language;
7
8 /**
9 * @since 4.2.0
10 */
11 class CampaignGridShortcode
12 {
13 /**
14 * @since 4.2.0
15 *
16 * @param array $atts
17 *
18 * @return string
19 */
20 public function renderShortcode($atts): string
21 {
22 $this->loadAssets();
23 $attributes = $this->parseAttributes($atts);
24
25 $renderFile = GIVE_PLUGIN_DIR . 'src/Campaigns/Blocks/CampaignGrid/render.php';
26
27 ob_start();
28 include $renderFile;
29 return ob_get_clean();
30 }
31
32 /**
33 * @since 4.3.0 Use info from asset.php file and set script translations
34 * @since 4.2.0
35 */
36 public function loadAssets()
37 {
38 $handleName = 'givewp-campaign-grid-app';
39 $asset = ScriptAsset::get(GIVE_PLUGIN_DIR . 'build/campaignGridApp.asset.php');
40
41 wp_enqueue_script(
42 $handleName,
43 GIVE_PLUGIN_URL . 'build/campaignGridApp.js',
44 $asset['dependencies'],
45 $asset['version'],
46 true
47 );
48
49 Language::setScriptTranslations($handleName);
50
51 wp_enqueue_style(
52 $handleName,
53 GIVE_PLUGIN_URL . 'build/campaignGridApp.css',
54 [],
55 $asset['version']
56 );
57
58 wp_enqueue_style('givewp-design-system-foundation');
59 }
60
61 /**
62 * @since 4.2.0
63 */
64 private function parseAttributes($atts): array
65 {
66 $atts = shortcode_atts([
67 'layout' => 'full',
68 'show_image' => true,
69 'show_description' => true,
70 'show_goal' => true,
71 'sort_by' => 'date',
72 'order_by' => 'desc',
73 'per_page' => 6,
74 'show_pagination' => true,
75 'filter_by' => null,
76 ], $atts, 'givewp_campaign_grid');
77
78 return [
79 'layout' => $atts['layout'],
80 'showImage' => filter_var($atts['show_image'], FILTER_VALIDATE_BOOLEAN),
81 'showDescription' => filter_var($atts['show_description'], FILTER_VALIDATE_BOOLEAN),
82 'showGoal' => filter_var($atts['show_goal'], FILTER_VALIDATE_BOOLEAN),
83 'sortBy' => $atts['sort_by'],
84 'orderBy' => $atts['order_by'],
85 'filterBy' => $atts['filter_by'],
86 'perPage' => (int)$atts['per_page'],
87 'showPagination' => filter_var($atts['show_pagination'], FILTER_VALIDATE_BOOLEAN),
88 ];
89 }
90 }
91