'/docs/how-to-create-conditional-form-confirmations/',
'go to url (redirect)' => [
'/docs/setup-form-confirmation-wpforms/',
'/docs/how-to-create-conditional-form-confirmations/',
'/docs/setup-form-confirmation-wpforms/',
'/docs/how-to-create-conditional-form-confirmations/',
'conditional confirmation' => [
'/docs/setup-form-confirmation-wpforms/',
'/docs/how-to-create-conditional-form-confirmations/',
'/docs/calculations-addon/',
'/docs/building-formulas-with-the-calculations-addon/',
'/calculations-formula-cheatsheet/',
'/docs/calculations-addon/',
'/docs/building-formulas-with-the-calculations-addon/',
'/calculations-formula-cheatsheet/',
'/docs/calculations-addon/',
'/docs/building-formulas-with-the-calculations-addon/',
'/calculations-formula-cheatsheet/',
'conditional calculation' => [
'/docs/calculations-addon/',
'/docs/building-formulas-with-the-calculations-addon/',
'/calculations-formula-cheatsheet/',
'/docs/lead-forms-addon/',
'/docs/how-to-install-and-use-form-abandonment-with-wpforms/',
'/docs/how-to-install-and-use-form-abandonment-with-wpforms/',
'/docs/how-to-install-and-use-form-abandonment-with-wpforms/',
'/docs/how-to-install-and-use-form-abandonment-with-wpforms/',
'/docs/how-to-install-and-use-the-post-submissions-addon-in-wpforms/',
'/docs/how-to-install-and-use-the-post-submissions-addon-in-wpforms/',
'/docs/how-to-install-and-use-the-post-submissions-addon-in-wpforms/',
'/docs/how-to-install-and-use-the-post-submissions-addon-in-wpforms/',
'/docs/how-to-install-and-use-the-post-submissions-addon-in-wpforms/',
'/docs/how-to-install-and-use-user-registration-addon-with-wpforms/',
'/docs/how-to-set-up-custom-user-meta-fields/',
'/docs/how-to-install-and-use-user-registration-addon-with-wpforms/',
'/docs/how-to-set-up-custom-user-meta-fields/',
'/docs/how-to-install-and-use-user-registration-addon-with-wpforms/',
'/docs/how-to-set-up-custom-user-meta-fields/',
'/docs/how-to-install-and-use-user-registration-addon-with-wpforms/',
'/docs/how-to-set-up-custom-user-meta-fields/',
'/docs/how-to-install-and-use-user-registration-addon-with-wpforms/',
'/docs/how-to-set-up-custom-user-meta-fields/',
'/docs/how-to-install-and-use-the-surveys-and-polls-addon/',
'/docs/how-to-install-and-use-the-surveys-and-polls-addon/',
'/docs/how-to-install-and-use-the-surveys-and-polls-addon/',
'conversational forms' => [
'/docs/how-to-install-and-use-the-conversational-forms-addon/',
'/docs/how-to-install-and-use-the-conversational-forms-addon/',
'/docs/how-to-install-and-use-the-form-locker-addon-in-wpforms/',
'/developers/how-to-display-remaining-entry-limit-number/',
'password protection' => [
'/docs/how-to-install-and-use-the-form-locker-addon-in-wpforms/',
'/developers/how-to-display-remaining-entry-limit-number/',
'/docs/how-to-install-and-use-the-form-locker-addon-in-wpforms/',
'/developers/how-to-display-remaining-entry-limit-number/',
'/docs/how-to-install-and-use-the-form-locker-addon-in-wpforms/',
'/developers/how-to-display-remaining-entry-limit-number/',
'/docs/how-to-install-and-use-the-form-locker-addon-in-wpforms/',
'/developers/how-to-display-remaining-entry-limit-number/',
'/docs/how-to-install-and-use-the-form-locker-addon-in-wpforms/',
'/developers/how-to-display-remaining-entry-limit-number/',
'/docs/how-to-install-and-use-the-form-locker-addon-in-wpforms/',
'/developers/how-to-display-remaining-entry-limit-number/',
'/docs/how-to-install-and-use-the-form-locker-addon-in-wpforms/',
'/developers/how-to-display-remaining-entry-limit-number/',
'/docs/how-to-install-and-use-the-form-pages-addon/',
'/docs/how-to-install-and-use-the-save-and-resume-addon-with-wpforms/',
'/docs/how-to-install-and-use-the-save-and-resume-addon-with-wpforms/',
'/docs/how-to-install-and-use-the-save-and-resume-addon-with-wpforms/',
'/docs/how-to-install-and-use-the-save-and-resume-addon-with-wpforms/',
'/docs/how-to-install-and-use-the-save-and-resume-addon-with-wpforms/',
'/docs/how-to-install-and-use-the-webhooks-addon-with-wpforms/',
'/docs/install-use-aweber-addon-wpforms/',
'/docs/how-to-install-and-use-campaign-monitor-addon-with-wpforms/',
'/docs/how-to-connect-constant-contact-with-wpforms/',
'/docs/convertkit-addon/',
'/docs/how-to-install-and-use-the-drip-addon-in-wpforms/',
'/docs/google-calendar-addon/',
'/docs/google-drive-addon/',
'/docs/how-to-install-and-use-getresponse-addon-with-wpforms/',
'/docs/google-sheets-addon/',
'/docs/google-permissions/',
'/docs/install-use-mailchimp-addon-wpforms/',
'/docs/install-use-mailerlite-addon-wpforms/',
'/docs/how-to-install-and-use-zapier-addon-with-wpforms/',
'/docs/pipedrive-addon/',
'/docs/how-to-install-and-use-the-salesforce-addon-with-wpforms/',
'/docs/how-to-install-and-use-the-sendinblue-addon-with-wpforms/',
'/docs/how-to-install-and-use-the-hubspot-addon-in-wpforms/',
'/docs/how-to-install-and-use-zapier-addon-with-wpforms/',
'/docs/how-to-install-and-use-the-webhooks-addon-with-wpforms/',
'/docs/google-sheets-addon/',
'/docs/how-to-install-and-use-zapier-addon-with-wpforms/',
'/docs/how-to-install-and-use-the-webhooks-addon-with-wpforms/',
'/docs/google-sheets-addon/',
'/docs/how-to-install-and-use-zapier-addon-with-wpforms/',
'/docs/how-to-install-and-use-the-webhooks-addon-with-wpforms/',
'/docs/how-to-install-and-use-zapier-addon-with-wpforms/',
'/docs/how-to-install-and-use-the-webhooks-addon-with-wpforms/',
'/docs/google-sheets-addon/',
'/docs/paypal-commerce-addon/',
'/docs/testing-payments-with-the-paypal-commerce-addon/',
'/docs/install-use-paypal-addon-wpforms/',
'/docs/how-to-test-paypal-payments-before-accepting-real-payments/',
'/docs/how-to-allow-users-to-choose-a-payment-method-on-your-form/',
'/docs/using-stripe-with-wpforms-lite/',
'/docs/how-to-install-and-use-the-stripe-addon-with-wpforms/',
'/docs/how-to-test-stripe-payments-on-your-site/',
'/docs/how-to-install-and-use-the-authorize-net-addon-with-wpforms/',
'/docs/how-to-install-and-use-the-authorize-net-addon-with-wpforms/',
'/docs/how-to-install-and-use-the-square-addon-with-wpforms/',
'/docs/how-to-test-square-payments-on-your-site/',
'/docs/how-to-use-form-revisions-in-wpforms/',
'/docs/generating-form-choices-with-wpforms-ai/',
'/docs/generating-forms-with-wpforms-ai/',
'/docs/entry-automation-addon/',
* Get context (recommended) docs.
* @return array Docs recommended by search terms.
public function get_context_docs() {
if ( empty( $this->docs ) ) {
$docs_links = $this->get_context_docs_links();
foreach ( $docs_links as $word => $links ) {
$docs[ $word ] = $this->get_doc_ids( $links );
* @param string $link Absolute link to the doc without the domain part.
private function get_doc_id_int( $link ) {
if ( empty( $this->docs ) ) {
foreach ( $this->docs as $id => $doc ) {
if ( ! empty( $doc['url'] ) && $doc['url'] === 'https://wpforms.com' . $link ) {
* @param array $links Array of the doc links.
public function get_doc_ids( $links ) {
foreach ( $links as $link ) {
$ids[] = $this->get_doc_id_int( $link );
* Output help modal markup.
public function output() {
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
'docs_url' => 'https://wpforms.com/docs/',
'support_ticket_url' => 'https://wpforms.com/account/support/',
'upgrade_url' => 'https://wpforms.com/pricing/',