Opis
LDAP Staff Directory lets you connect your WordPress site to an LDAP / LDAPS server and publish a public employee directory with zero manual data entry.
Features
- Connects to any LDAP or LDAPS server (including Active Directory, OpenLDAP, Samba)
- Configurable Base OU and Bind DN
- Extracts: full name, email, job title, department
- Shortcode
[ldap_directory]usable in any post, page or widget - Native Elementor widget with full style controls
- Native Beaver Builder module with General and Style tabs
- Real-time client-side search (no page reload)
- Client-side pagination with configurable items per page
- Transient-based cache with configurable TTL and one-click invalidation
- Admin panel under Settings LDAP Directory
- SSL certificate verification toggle (supports self-signed certs)
- Optional CA certificate file path
- Multisite compatible (per-site settings)
Requirements
- PHP
ldapextension enabled on the server - WordPress 5.8 or higher
- PHP 7.4 or higher
Instalacija
- Upload the
ldap-staff-directoryfolder to/wp-content/plugins/. - Activate the plugin through Plugins Installed Plugins.
- Go to Settings LDAP Directory and fill in your LDAP connection details.
- Click Test Connection to verify the settings.
- Insert
[ldap_directory]in any post or page, or use the Elementor / Beaver Builder widget.
ČPP
-
The plugin says “PHP LDAP extension not found”. What should I do?
-
Contact your hosting provider and ask them to enable the
php-ldap(orphp7.x-ldap) extension. On Linux servers you can typically install it with:
sudo apt-get install php-ldap orsudo yum install php-ldap. -
My server uses a self-signed SSL certificate. How do I connect?
-
Go to Settings LDAP Directory LDAP Connection and uncheck Verify SSL Certificate. Save, then click Test Connection.
-
How do I connect to Active Directory?
-
Use
ldaps://your-dc.domain.comas the server, port636, and a service account DN such asCN=svc-wordpress,OU=ServiceAccounts,DC=domain,DC=com. -
Can I show only certain fields?
-
Yes. In the admin panel, check or uncheck the fields you want. You can also override per shortcode:
[ldap_directory fields=”name,title”] -
How long is data cached?
-
By default 60 minutes. Change the TTL under Settings LDAP Directory Cache or flush immediately with the Clear Cache button.
Recenzije
Nema recenzija za ovaj dodatak.
Saradnici i programeri
“LDAP Staff Directory” is open source software. The following people have contributed to this plugin.
DoprinositeljiPrevedi “LDAP Staff Directory” na vaš jezik.
Zainteresirani za razvoj?
Pregledajte kôd, pogledajte SVN spremišteili se pretplatite na dnevnik razvoja od RSS.
Zapis promijena
1.0.6
- Fix: Removed custom CSS input feature (admin panel textarea and Beaver Builder Advanced tab) per WordPress.org guideline prohibiting arbitrary CSS/JS/PHP injection.
- Fix: Added
phpcs:ignoreannotation with justification toecho do_shortcode()output in Beaver Builder frontend template; changedper_pageshortcode argument fromesc_attr()toabsint()for correct integer escaping.
1.0.5
- Fix: Replace inline
<style>tags in Elementor widget and Beaver Builder module withwp_add_inline_style()and Elementor's nativeadd_render_attribute()API to comply with WordPress.org plugin guidelines (Guideline 11 / wp_enqueue best practices).
1.0.4
- Security: LDAP bind password is now encrypted at rest using libsodium (XSalsa20-Poly1305). The encryption key is derived from WordPress's built-in security keys — no configuration required.
- Security: Existing plaintext passwords continue to work and are automatically re-encrypted on the next settings save (transparent migration).
- Security: An admin notice is shown when WordPress security keys (wp-config.php) have been regenerated, prompting the administrator to re-enter the bind password.
- Note: Regenerating WordPress security keys requires re-entering the bind password once in Settings LDAP Staff Directory.
1.0.3
- Fix: Plugin now activates without the PHP LDAP extension; a persistent admin notice informs the administrator when the extension is missing instead of blocking activation with a fatal error.
- Fix:
/* translators: */comment repositioned insidesprintf(), immediately above__(), to satisfy the WordPress Plugin Checker i18n rule. - Fix: All local variables in included template files (
directory.php,beaver-builder/frontend.php) renamed withldap_ed_prefix to comply with WPCS global-variable naming requirements. - Fix:
absint()applied to$columnsin Elementor widgetprintf()output to satisfy the WPCS escaping rule for integer values. - Fix:
load_plugin_textdomain()removed — not required for WordPress.org-hosted plugins since WordPress 4.6. - Fix:
Domain Pathheader removed from plugin file — no local translation files are bundled. - Chore: “Tested up to” updated to WordPress 6.9.
- Chore: Tag list reduced to five entries per WordPress.org limit.
1.0.2
- Feat: Added
telephoneNumberfield — read from LDAP, displayed on cards as a clickabletel:link, included in client-side search, and available in admin panel, Elementor and Beaver Builder controls. - Feat: New “Exclude Disabled Accounts” setting (connection section) — filters out disabled Active Directory accounts using the
userAccountControlbit flag. Leave unchecked for OpenLDAP/other servers. - Feat: Resilient cache — when the LDAP server is unreachable after cache expiry, the last successfully fetched data (stale copy) is served silently to visitors. Only a manual “Clear Cache” action removes the stale copy entirely.
1.0.1
- Fix: LDAP server URL no longer lost on save — replaced
esc_url_raw()(which stripsldap:///ldaps://schemes) with a dedicated sanitizer that validates the scheme and shows an admin error on invalid input. - Fix: Added runtime admin notice when the PHP LDAP extension is missing, covering cases where the extension is disabled after activation or the plugin is activated via WP-CLI/DB without going through the activation hook.
1.0.0
- Initial release.