WordPress Installation

Install Notedis on your WordPress site in minutes. Three installation methods available.

Method 1: Code Snippets Plugin (Recommended)

The easiest and safest method. Survives theme updates.

Step 1: Install Code Snippets Plugin

  1. Go to PluginsAdd New in your WordPress admin
  2. Search for "Code Snippets" or "Insert Headers and Footers"
  3. Install and activate the plugin

Recommended plugins:

Step 2: Add Notedis Code

For Code Snippets plugin:

  1. Go to SnippetsAdd New
  2. Title: "Notedis Feedback Widget"
  3. Code:
add_action('wp_footer', function() {
    ?>
    <script>
      window.notedisConfig = {
        siteKey: 'your-unique-site-key-here',
        apiUrl: 'https://notedis.com',
        position: 'bottom-right',
        color: '#3B82F6'
      };
    </script>
    <script src="https://notedis.com/js/widget.js" defer></script>
    <?php
});
  1. Location: Select "Run snippet everywhere"
  2. Save Changes and Activate

For Insert Headers and Footers plugin:

  1. Go to SettingsInsert Headers and Footers
  2. Paste this code in the Footer section:
<script>
  window.notedisConfig = {
    siteKey: 'your-unique-site-key-here',
    apiUrl: 'https://notedis.com',
    position: 'bottom-right',
    color: '#3B82F6'
  };
</script>
<script src="https://notedis.com/js/widget.js" defer></script>
  1. Save

Method 2: Theme Functions File

Add directly to your theme's functions.php file.

Step 1: Access functions.php

Via WordPress Admin:

  1. Go to AppearanceTheme File Editor
  2. Select functions.php from the right sidebar

Via FTP:

  1. Connect to your site via FTP
  2. Navigate to /wp-content/themes/your-theme/
  3. Edit functions.php

Step 2: Add the Code

Paste this code at the end of functions.php:

<?php
// Notedis Feedback Widget
add_action('wp_footer', 'notedis_feedback_widget');

function notedis_feedback_widget() {
    ?>
    <script>
      window.notedisConfig = {
        siteKey: 'your-unique-site-key-here',
        apiUrl: 'https://notedis.com',
        position: 'bottom-right',
        color: '#3B82F6'
      };
    </script>
    <script src="https://notedis.com/js/widget.js" defer></script>
    <?php
}
?>

Step 3: Save

Click Update File (Admin) or save and upload (FTP).

⚠️ Warning: Theme updates will overwrite this change. Use Method 1 or Method 3 instead.


Method 3: Child Theme (Best for Custom Themes)

Safest method if you're using a custom theme.

Step 1: Create Child Theme

If you don't have a child theme:

  1. Create a folder: /wp-content/themes/your-theme-child/
  2. Create style.css:
/*
Theme Name: Your Theme Child
Template: your-parent-theme
*/
  1. Create functions.php:
<?php
// Enqueue parent theme styles
add_action('wp_enqueue_scripts', 'child_theme_enqueue_styles');
function child_theme_enqueue_styles() {
    wp_enqueue_style('parent-style', get_template_directory_uri() . '/style.css');
}
?>
  1. Activate the child theme in AppearanceThemes

Step 2: Add Notedis Code

Add to your child theme's functions.php:

<?php
// Notedis Feedback Widget
add_action('wp_footer', 'notedis_feedback_widget');

function notedis_feedback_widget() {
    ?>
    <script>
      window.notedisConfig = {
        siteKey: 'your-unique-site-key-here',
        apiUrl: 'https://notedis.com',
        position: 'bottom-right',
        color: '#3B82F6'
      };
    </script>
    <script src="https://notedis.com/js/widget.js" defer></script>
    <?php
}
?>

Conditional Loading (Advanced)

Show Only to Logged-In Users

add_action('wp_footer', function() {
    // Only show for logged-in users
    if (is_user_logged_in()) {
        ?>
        <script>
          window.notedisConfig = {
            siteKey: 'your-unique-site-key-here',
            apiUrl: 'https://notedis.com',
            position: 'bottom-right',
            color: '#3B82F6'
          };
        </script>
        <script src="https://notedis.com/js/widget.js" defer></script>
        <?php
    }
});

Hide on Specific Pages

add_action('wp_footer', function() {
    // Don't show on checkout or cart pages
    if (is_checkout() || is_cart()) {
        return;
    }
    ?>
    <script>
      window.notedisConfig = {
        siteKey: 'your-unique-site-key-here',
        apiUrl: 'https://notedis.com',
        position: 'bottom-right',
        color: '#3B82F6'
      };
    </script>
    <script src="https://notedis.com/js/widget.js" defer></script>
    <?php
});

Show Only on Staging Site

add_action('wp_footer', function() {
    // Only show on staging environment
    if (strpos(site_url(), 'staging') !== false) {
        ?>
        <script>
          window.notedisConfig = {
            siteKey: 'your-unique-site-key-here',
            apiUrl: 'https://notedis.com',
            position: 'bottom-right',
            color: '#3B82F6'
          };
        </script>
        <script src="https://notedis.com/js/widget.js" defer></script>
        <?php
    }
});

Testing

  1. Clear cache - If using a caching plugin (WP Rocket, W3 Total Cache, etc.), clear the cache
  2. View your site in a browser
  3. Look for the feedback button (bottom-right by default)
  4. Submit a test feedback
  5. Check your dashboard at notedis.com/admin/feedback

Compatibility

Works with:

  • ✅ All WordPress themes (Astra, GeneratePress, Divi, Elementor, etc.)
  • ✅ Page builders (Elementor, Divi Builder, Beaver Builder, etc.)
  • ✅ WooCommerce
  • ✅ Caching plugins (WP Rocket, W3 Total Cache, WP Super Cache)
  • ✅ Multisite installations
  • ✅ WordPress 5.0+

Troubleshooting

Widget doesn't appear

  1. Clear WordPress cache (if using caching plugin)
  2. Check site key - Verify it's correct
  3. Check theme compatibility - Some themes may override footer
  4. Disable plugins temporarily - Rule out plugin conflicts
  5. Try Method 1 - Code Snippets plugin is most reliable

Widget appears but styling is off

  1. Check theme CSS - Your theme may have conflicting styles
  2. Adjust z-index - Add custom CSS (see Customization)
  3. Change position - Try a different corner

Widget not loading on all pages

  1. Check conditional logic - Make sure you're not excluding pages unintentionally
  2. Verify hook - Ensure wp_footer() is called in your theme
  3. Check caching - Clear page cache and browser cache

See Troubleshooting for more help.


Next Steps