In Drupal, there are several modules that can be used to create feedback forms and surveys. Some popular options include:


The Webform module in Drupal allows site administrators to create forms and surveys that can be filled out by website visitors. It provides a user-friendly interface for creating and managing forms and allows for a variety of field types, such as text fields, checkboxes, radio buttons, and file uploads. Forms can be configured to send email notifications, save submissions to the database, and export data to a spreadsheet. Additionally, the module includes conditional logic, validation, and access controls. Once a form is created, it can be added to pages and posts using a block or a shortcode.

Survey Builder

In Drupal, the Survey Builder module allows users to create surveys and polls on their website. The module provides a user interface for creating and managing surveys, as well as for collecting and analyzing the results. Surveys can include a variety of question types, such as multiple choice, checkboxes, and open-ended text fields. Users can also set limits on the number of times a survey can be taken, and can choose to make the survey anonymous or require users to log in before taking the survey. Once a survey is created, it can be embedded in a page or blocked on the website, or linked to through a button or link. The results of the survey can then be viewed and analyzed in the module’s admin interface.


In Drupal, the Quiz module allows site administrators to create and manage quizzes on their website. The module includes features such as multiple question types (e.g. multiple choice, true/false), the ability to set a time limit for taking the quiz, and the ability to provide instant feedback and score calculations. The module also includes options for managing quiz access and permissions, as well as reporting and analytics tools for tracking quiz performance. The Quiz module can be used to create quizzes for a variety of purposes, such as education, training, and assessment.

Form Builder

In Drupal, the Form Builder module allows users to create and manage forms through a web interface, rather than having to manually write the code for the form. The module provides a user-friendly interface for creating and editing form fields, setting validation rules, and managing submissions. Once a form is created, it can be added to a page or blocked on the website and made available to users. The Form Builder module also includes features such as email notifications and the ability to export submitted data.


The Contact module in Drupal allows website visitors to send messages to the site administrator through a web form. This form can be configured to include various fields, such as name, email, subject, and message. Once the form is submitted, the message is sent to the email address specified in the module’s settings, and can also be viewed and managed through the Drupal administrator interface. Additionally, the module allows to create of different forms for different purposes, and can also be used to create custom contact forms for specific use cases

These are some of the popular modules you can use to create feedback forms and surveys in Drupal, but many other options are also available. It’s always recommended to review the module documentation and check its popularity, stability, maintenance, and community before installing.

Widgets in WordPress are small blocks of content or functionality that can be added to various areas of a website, such as sidebars and footers. They can be used to display things like recent posts, categories, and search forms.

Here are some tips on how to work with widgets in WordPress:

  1. Start by familiarizing yourself with the built-in widgets that come with WordPress. These widgets are available in the “Appearance > Widgets” section of your WordPress admin dashboard.
  2. Look for a plugin that provides additional widgets if you need more than the built-in options. Some popular widget plugins include Jetpack and Widget Options.
  3. To add a widget to your site, simply drag and drop it from the “Available Widgets” section to the desired location in the “Widgets” section of the dashboard. You can also click on the widget to expand it and configure its settings.
  4. Make sure to check the settings for each widget, as some may require additional setup or customization. For example, a widget that displays recent posts may allow you to specify the number of posts to show or the categories to include.
  5. If you need to create a custom widget, you’ll need to have some coding knowledge. Here’s an example of a simple custom widget that displays a message:
class Custom_Widget extends WP_Widget
  function __construct()
      'custom_widget', // Widget ID 
      __('Custom Widget', 'text_domain'), // Widget name 
      array('description' => __('A custom widget', 'text_domain'),) // Widget description 

  public function widget($args, $instance)
    echo $args['before_widget'];

    if (!empty($instance['message'])) {
      echo $args['before_title'] . apply_filters('widget_title', $instance['message']) . $args['after_title'];

    echo __('This is a custom widget', 'text_domain');
    echo $args['after_widget'];

  public function form($instance)
    $message = !empty($instance['message']) ? $instance['message'] : __('Default message', 'text_domain');
      <label for="<?php echo $this->get_field_id('message'); ?>">
        <?php _e('Message:'); ?>
      <input class="widefat" id="<?php echo $this->get_field_id('message'); ?>"
           name="<?php echo $this->get_field_name('message'); ?>" type="text"
           value="<?php echo esc_attr($message); ?>">

  public function update($new_instance, $old_instance)
    $instance = array();
    $instance['message'] = (!empty($new_instance['message'])) ? strip_tags($new_instance['message']) : '';
    return $instance;

This code creates a custom widget called “Custom Widget” that displays a message specified by the user in the widget settings.

Widgets are a great way to add functionality and content to your WordPress site without having to write any code. With the tips above, you’ll be able to make the most of WordPress widgets and create a more dynamic and engaging website.

If you’re working with WordPress, it’s essential to know which version of the platform you’re running. Fortunately, WordPress provides a global variable called $wp_version that stores this information. In this article, we’ll look at how you can use the PHP code:

<?php echo($wp_version); ?>

to output the current version of WordPress on your site.

To use this code, you’ll need to execute it within the context of a WordPress installation. You can do this by adding it to a WordPress template file, or by using it in a plugin or custom function. If you’re not familiar with PHP or WordPress development, it’s a good idea to seek the help of a developer or consult the WordPress documentation before making any changes.

One simple way to use this code is to add a custom function to your theme’s functions.php file. Here’s an example:

function display_wp_version() { global $wp_version; echo $wp_version; }

Once you’ve added this function to your theme’s functions.php file, you can call it anywhere in your theme or plugin to output the WordPress version number. For example, you could add the following code to your footer.php file to display the version number in the footer of your site:

<footer> <p>WordPress version <?php display_wp_version(); ?></p> </footer>

Remember, modifying your WordPress site’s code can be risky, so it’s always a good idea to create a backup of your site before making any changes. By following these simple tips, you can easily output the current version of WordPress on your site and keep track of any updates or changes to the platform.

There is a function in WordPress that displays a navigation menu on your website – wp_nav_menu().

By default, it displays the menu assigned to the “Primary” location in the WordPress dashboard, but you can specify a different menu or customize the output by passing various arguments to the function.

Here is an example of how you might use wp_nav_menu() in your theme’s template file:

<?php $args = array( 'theme_location' => 'primary', 'container' => 'nav', 'container_class' => 'main-nav', 'menu_class' => 'menu', 'depth' => 2, ); wp_nav_menu( $args ); ?>

This will display the menu assigned to the “Primary” location, wrapped in a nav element with a class of main-nav, and with each menu item contained in a list element with a class of menu. The depth argument specifies how many levels of the menu hierarchy to display.

You can find more information about wp_nav_menu() and the available arguments in the WordPress documentation:

This code snippet is using the add_filter function to add a new filter to the woocommerce_enqueue_styles hook in WordPress. This hook is used to enqueue stylesheets in the WooCommerce plugin.

add_filter( 'woocommerce_enqueue_styles', 'jk_dequeue_styles' );
function jk_dequeue_styles( $enqueue_styles ) {
 unset( $enqueue_styles['( css file name)'] ); 
 return $enqueue_styles;

The function passed to add_filter (in this case: jk_dequeue_styles) is called a “callback” function, and it modifies the list of stylesheets that are enqueued by WooCommerce. The $enqueue_styles argument is an array of stylesheets that are being enqueued by WooCommerce, and the unset function is used to remove a specific stylesheet from this array.

In this case, the stylesheet being removed is specified by the (css file name) placeholder. You will need to replace this placeholder with the actual name of the stylesheet file that you want to remove.

Finally, the modified array of stylesheets is returned by the jk_dequeue_styles function, which will cause only the remaining stylesheets in the array to be enqueued by WooCommerce.

The bloginfo() function is a WordPress function that displays information about the current WordPress site. The parameters you provided are all options for the bloginfo() function that retrieve different URLs for the site.

Here is a brief explanation of each parameter:

You can use these parameters to generate links to the various feeds and pages on your site, or to include them in your template files to display the URLs on the site.

These are all functions in the WordPress PHP programming language that allow you to display various information about your WordPress site.

Here is what each of these functions does:

bloginfo(‘name’) – Displays the name of your site as set in the WordPress dashboard under Settings > General.

bloginfo(‘description’) – Displays the site’s tagline as set in the WordPress dashboard under Settings > General.

bloginfo(‘template_url’) – Displays the URL of the active theme’s folder.

bloginfo(‘template_directory’) – Displays the absolute path to the active theme’s folder.

bloginfo(‘stylesheet_directory’) – Displays the absolute path to the active theme’s stylesheet.

bloginfo(‘stylesheet_url’) – Displays the URL of the active theme’s stylesheet.

bloginfo(‘charset’) – Displays the character set of the site, usually “UTF-8”.

bloginfo(‘html_type’) – Displays the type of HTML used in the site, usually “html5”.

bloginfo(‘language’) – Displays the language code of the site, usually “en-US”.

bloginfo(‘version’) – Displays the current version of WordPress.

bloginfo(‘rss2_url’) – Displays the URL of the site’s RSS feed.

bloginfo(‘comments_rss2_url’) – Displays the URL of the site’s comments RSS feed.

bloginfo(‘admin_email’) – Displays the email address of the site’s administrator as set in the WordPress dashboard under Settings > General.

These functions are typically used in WordPress themes to display various information about the site. They can be placed in the theme’s template files (such as header.php or footer.php) or in the WordPress content editor when creating a post or page.