If WordPress is asking for FTP credentials when you try to install or update plugins or themes, it may be due to permission issues. Here are steps to fix the problem:

  1. Check File Permissions: Ensure that the file and directory permissions are correctly set. The WordPress directories should typically have permissions set to 755, and files to 644. You can use an FTP client or a file manager in your hosting control panel to check and modify permissions.
  2. Update wp-config.php: Add the following lines to your wp-config.php file to specify the FTP details:
    php
    define('FS_METHOD', 'direct');

    This will force WordPress to use the direct method for file updates.

  3. Check Ownership: Make sure that the files and directories are owned by the correct user and group. This information can be checked and adjusted using the chown command via SSH or through your hosting control panel.
  4. Set Proper Ownership for WordPress Files: If you are using Linux, you can run the following command in your WordPress root directory:
    bash
    sudo chown -R www-data:www-data .

    Replace www-data:www-data with the appropriate user and group for your server environment.

  5. Add FTP Credentials to wp-config.php: You can manually add FTP credentials to your wp-config.php file. Open the file and add the following lines:
    php
    define('FS_METHOD', 'ftpext');
    define('FTP_HOST', 'your_ftp_host');
    define('FTP_USER', 'your_ftp_username');
    define('FTP_PASS', 'your_ftp_password');

    Replace ‘your_ftp_host’, ‘your_ftp_username’, and ‘your_ftp_password’ with your FTP server details.

  6. Use SFTP: If possible, use SFTP instead of FTP. SFTP is more secure and may avoid permission-related issues.
  7. Contact Hosting Support: If none of the above solutions work, it’s advisable to contact your hosting support for assistance. They might be able to identify and resolve any server-specific issues causing the problem.

Always remember to back up your site before making any significant changes to files or configurations.