PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / 5.34.2
MailPoet – Newsletters, Email Marketing, and Automation v5.34.2
5.34.2 5.34.1 5.34.0 5.33.1 5.33.0 5.32.0 5.31.0 5.30.0 5.29.0 5.28.1 5.28.0 5.27.0 5.26.0 5.26.1 5.25.0 5.24.0 4.43.0 4.43.1 4.44.0 4.44.1 4.45.0 4.46.0 4.47.0 4.48.0 4.48.1 4.48.2 4.49.0 4.49.1 4.5.0 4.5.1 4.5.2 4.50.0 4.50.1 4.51.0 4.51.1 4.51.2 4.52.0 4.53.0 4.54.0 4.55.0 4.56.0 4.57.0 4.58.0 4.58.1 4.58.2 4.6.0 4.6.1 4.6.2 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 5.0.0 5.0.1 5.0.2 5.1.0 5.1.1 5.10.0 5.10.1 5.11.0 5.12.0 5.12.1 5.12.10 5.12.11 5.12.12 5.12.13 5.12.2 5.12.3 5.12.4 5.12.5 5.12.6 5.12.7 5.12.8 5.12.9 5.13.0 5.13.1 5.13.2 5.14.0 5.14.1 5.14.2 5.14.3 5.15.0 5.15.1 5.16.0 5.16.1 5.16.2 5.16.3 5.16.4 5.17.0 5.17.1 5.17.2 5.17.3 5.17.4 5.17.5 5.17.6 5.18.0 5.19.0 5.2.0 5.2.1 5.2.2 5.2.3 5.20.0 5.21.0 5.21.1 5.21.2 5.21.3 5.22.0 5.22.1 5.22.2 5.22.3 5.22.4 5.23.0 5.23.1 5.23.2 5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.4.0 5.4.1 5.4.2 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.6.3 5.6.4 5.7.0 5.7.1 5.8.0 5.8.1 5.9.0 3.0.0-beta.15 3.7.1 3.0.0-beta.16 3.7.2 3.0.0-beta.17 3.7.3 3.0.0-beta.18 3.7.4 3.0.0-beta.19 3.7.5 3.0.0-beta.2 3.7.6 3.0.0-beta.20 3.7.8 3.0.0-beta.21 3.70.0 3.0.0-beta.22 3.71.0 3.0.0-beta.23 3.71.1 3.0.0-beta.23.1 3.71.2 3.0.0-beta.23.2 3.71.3 3.0.0-beta.24 3.72.0 3.0.0-beta.25 3.73.0 3.0.0-beta.26 3.73.1 3.0.0-beta.27 3.73.2 3.0.0-beta.28 3.74.0 3.0.0-beta.29 3.74.1 3.0.0-beta.3 3.74.2 3.0.0-beta.30 3.74.3 3.0.0-beta.31 3.75.0 3.0.0-beta.32 3.75.1 3.0.0-beta.33 3.76.0 3.0.0-beta.33.1 3.77.0 3.0.0-beta.34.0.0 3.77.1 3.0.0-beta.36.0.0 3.78.0 3.0.0-beta.36.0.1 3.79.0 3.0.0-beta.36.2.0 3.8 3.0.0-beta.36.3.0 3.8.1 3.0.0-beta.36.3.1 3.8.2 3.0.0-beta.37.0.0 3.8.3 3.0.0-beta.4 3.8.4 3.0.0-beta.5 3.8.5 3.0.0-beta.6 3.8.6 3.0.0-beta.7 3.80.0 3.0.0-beta.7.1 3.81.0 3.0.0-beta.8 3.82.0 3.0.0-beta.9 3.83.0 3.0.0-rc.1.0.0 3.84.0 3.0.0-rc.1.0.1 3.84.1 3.0.0-rc.1.0.2 3.85.0 3.0.0-rc.1.0.3 3.85.1 3.0.0-rc.1.0.4 3.86.0 3.0.0-rc.2.0.0 3.87.0 3.0.0-rc.2.0.1 3.87.1 3.0.0-rc.2.0.2 3.87.2 3.0.0-rc.2.0.3 3.88.0 3.0.1 3.88.1 3.0.2 3.88.2 3.0.3 3.89.0 3.0.4 3.89.1 3.0.5 3.89.2 3.0.6 3.89.3 3.0.7 3.89.4 3.0.8 3.9.0 3.0.9 3.9.1 3.1.0 3.90.0 3.10 3.90.1 3.10.1 3.90.2 3.100.0 3.91.0 3.100.1 3.91.1 3.100.2 3.92.0 3.101.0 3.92.1 3.101.1 3.93.0 3.102.0 3.93.1 3.102.1 3.94.0 3.103.0 3.95.0 3.103.1 3.95.1 3.11.0 3.96.0 3.11.1 3.96.1 3.11.2 3.97.0 3.11.3 3.98.0 3.11.4 3.98.1 3.11.5 3.99.0 3.12.0 3.99.1 3.12.1 4.0.0 3.13.0 4.0.1 3.14.0 4.1.0 3.14.1 4.1.1 3.15.0 4.10.0 3.16.0 4.11.0 3.16.1 4.11.1 3.16.2 4.12.0 3.16.3 4.12.1 3.17.0 4.12.2 3.17.1 4.13.0 3.17.2 4.14.0 3.18.0 4.15.0 3.18.1 4.16.0 3.18.2 4.17.0 3.19.0 4.17.1 3.19.1 4.18.0 3.19.2 4.18.1 3.19.3 4.19.0 3.2.0 4.2.0 3.2.1 4.20.0 3.2.2 4.20.1 3.2.3 4.20.2 3.2.4 4.21.0 3.2.5 4.22.0 3.20.0 4.22.1 3.21.0 4.22.2 3.21.1 4.23.0 3.22.0 4.24.0 3.23.0 4.25.0 3.23.1 4.26.0 3.23.2 4.26.1 3.24.0 4.27.0 3.25.0 4.28.0 3.25.1 4.29.0 3.26.0 4.3.0 3.26.1 4.3.1 3.27.0 4.30.0 3.28.0 4.31.0 3.29.0 4.31.1 3.3.0 4.32.0 3.3.1 4.33.0 3.3.2 4.34.0 3.3.3 4.35.0 3.3.4 4.35.1 3.3.5 4.36.0 3.3.6 4.37.0 3.30.0 4.38.0 3.31.0 4.39.0 3.31.1 4.4.0 3.32.0 4.40.0 3.32.1 4.41.0 3.32.2 4.41.1 3.33.0 4.41.2 3.34.0 4.41.3 3.34.1 4.42.0 3.34.2 4.42.1 3.34.3 3.34.4 3.35.0 3.35.1 3.35.3 3.35.4 3.36.0 3.37.0 3.37.1 3.37.2 3.37.3 3.38.0 3.38.1 3.39.0 3.39.1 3.39.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.40.0 3.40.1 3.41.0 3.41.1 3.41.2 3.42.0 3.42.1 3.42.2 3.42.3 3.43.0 3.43.1 3.44.0 3.45.0 3.45.1 3.46.0 3.46.1 3.46.10 3.46.11 3.46.12 3.46.13 3.46.14 3.46.2 3.46.3 3.46.4 3.46.5 3.46.6 3.46.7 3.46.8 3.46.9 3.47.0 3.47.1 3.47.10 3.47.11 3.47.2 3.47.3 3.47.5 3.47.6 3.47.7 3.47.9 3.48.0 3.48.1 3.49.0 3.49.1 3.5.0 3.5.1 3.50.0 3.51.0 3.51.1 3.51.2 3.52.0 3.53.0 3.54.0 3.54.1 3.54.2 3.54.3 3.55.0 3.55.1 3.56.0 3.56.1 3.56.2 3.57.0 3.57.1 3.58.0 3.59.0 3.59.1 3.59.2 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.60.0 3.60.1 3.60.10 3.60.11 3.60.12 3.60.2 3.60.3 3.60.4 3.60.6 3.60.7 3.60.8 3.60.9 3.61.0 3.62.0 3.62.1 3.63.0 3.64.0 3.64.1 3.64.2 3.64.3 3.65.0 trunk 3.65.1 3.0.0 3.66.0 3.0.0-beta.1 3.67.0 3.0.0-beta.10 3.67.1 3.0.0-beta.11 3.68.0 3.0.0-beta.12 3.69.0 3.0.0-beta.13 3.69.1 3.0.0-beta.14 3.7.0
mailpoet / lib / Newsletter / Shortcodes / ShortcodesHelper.php
mailpoet / lib / Newsletter / Shortcodes Last commit date
Categories 3 days ago Shortcodes.php 2 months ago ShortcodesHelper.php 4 days ago index.php 3 years ago
ShortcodesHelper.php
164 lines
1 <?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing
2
3 namespace MailPoet\Newsletter\Shortcodes;
4
5 if (!defined('ABSPATH')) exit;
6
7
8 use MailPoet\CustomFields\CustomFieldsRepository;
9 use MailPoet\Entities\NewsletterLinkEntity;
10
11 class ShortcodesHelper {
12 /** @var CustomFieldsRepository */
13 private $customFieldsRepository;
14
15 public function __construct(
16 CustomFieldsRepository $customFieldsRepository
17 ) {
18 $this->customFieldsRepository = $customFieldsRepository;
19 }
20
21 public function getShortcodes(): array {
22 $shortcodes = [
23 __('Subscriber', 'mailpoet') => [
24 [
25 'text' => __('First Name', 'mailpoet'),
26 'shortcode' => '[subscriber:firstname | default:reader]',
27 ],
28 [
29 'text' => __('Last Name', 'mailpoet'),
30 'shortcode' => '[subscriber:lastname | default:reader]',
31 ],
32 [
33 'text' => __('Email Address', 'mailpoet'),
34 'shortcode' => '[subscriber:email]',
35 ],
36 [
37 'text' => __('WordPress User Display Name', 'mailpoet'),
38 'shortcode' => '[subscriber:displayname | default:member]',
39 ],
40 [
41 'text' => __('Total Number of Subscribers', 'mailpoet'),
42 'shortcode' => '[subscriber:count]',
43 ],
44 ],
45 __('Newsletter', 'mailpoet') => [
46 [
47 'text' => __('Newsletter Subject', 'mailpoet'),
48 'shortcode' => '[newsletter:subject]',
49 ],
50 ],
51 __('Post Notifications', 'mailpoet') => [
52 [
53 'text' => __('Total Number of Posts or Pages', 'mailpoet'),
54 'shortcode' => '[newsletter:total]',
55 ],
56 [
57 'text' => __('Most Recent Post Title', 'mailpoet'),
58 'shortcode' => '[newsletter:post_title]',
59 ],
60 [
61 'text' => __('Issue Number', 'mailpoet'),
62 'shortcode' => '[newsletter:number]',
63 ],
64 ],
65 __('Date', 'mailpoet') => [
66 [
67 'text' => __('Current day of the month number', 'mailpoet'),
68 'shortcode' => '[date:d]',
69 ],
70 [
71 'text' => __('Current day of the month in ordinal form, i.e. 2nd, 3rd, 4th, etc.', 'mailpoet'),
72 'shortcode' => '[date:dordinal]',
73 ],
74 [
75 'text' => __('Full name of current day', 'mailpoet'),
76 'shortcode' => '[date:dtext]',
77 ],
78 [
79 'text' => __('Current month number', 'mailpoet'),
80 'shortcode' => '[date:m]',
81 ],
82 [
83 'text' => __('Full name of current month', 'mailpoet'),
84 'shortcode' => '[date:mtext]',
85 ],
86 [
87 'text' => __('Year', 'mailpoet'),
88 'shortcode' => '[date:y]',
89 ],
90 ],
91 __('Links', 'mailpoet') => [
92 [
93 'text' => __('Unsubscribe link', 'mailpoet'),
94 'shortcode' => sprintf(
95 '<a target="_blank" href="%s">%s</a>',
96 NewsletterLinkEntity::UNSUBSCRIBE_LINK_SHORT_CODE,
97 __('Unsubscribe', 'mailpoet')
98 ),
99 ],
100 [
101 'text' => __('Edit subscription page link', 'mailpoet'),
102 'shortcode' => sprintf(
103 '<a target="_blank" href="%s">%s</a>',
104 '[link:subscription_manage_url]',
105 __('Manage subscription', 'mailpoet')
106 ),
107 ],
108 [
109 'text' => __('View in browser link', 'mailpoet'),
110 'shortcode' => sprintf(
111 '<a target="_blank" href="%s">%s</a>',
112 '[link:newsletter_view_in_browser_url]',
113 __('View in your browser', 'mailpoet')
114 ),
115 ],
116 [
117 'text' => __('Tracking opt-out link', 'mailpoet'),
118 'shortcode' => sprintf(
119 '<a target="_blank" href="%s">%s</a>',
120 '[link:subscription_tracking_opt_out_url]',
121 __('Opt out of tracking', 'mailpoet')
122 ),
123 ],
124 ],
125 __('Site', 'mailpoet') => [
126 [
127 'text' => __('Site title', 'mailpoet'),
128 'shortcode' => '[site:title]',
129 ],
130 [
131 'text' => __('Homepage link', 'mailpoet'),
132 'shortcode' => sprintf(
133 '<a target="_blank" href="%s">%s</a>',
134 '[site:homepage_url]',
135 '[site:title]'
136 ),
137 ],
138 [
139 'text' => __('Homepage URL', 'mailpoet'),
140 'shortcode' => '[site:homepage_url]',
141 ],
142 ],
143 ];
144 $customFields = $this->getCustomFields();
145 if (count($customFields) > 0) {
146 $shortcodes[__('Subscriber', 'mailpoet')] = array_merge(
147 $shortcodes[__('Subscriber', 'mailpoet')],
148 $customFields
149 );
150 }
151 return $shortcodes;
152 }
153
154 public function getCustomFields(): array {
155 $customFields = $this->customFieldsRepository->findAllActive();
156 return array_map(function($customField) {
157 return [
158 'text' => $customField->getName(),
159 'shortcode' => '[subscriber:cf_' . $customField->getId() . ']',
160 ];
161 }, $customFields);
162 }
163 }
164