Linux 软件免费装

Estasoft Name Catalog

开发者 estasoft
更新时间 2026年10月12日 19:24
PHP版本: 7.4 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

search import directory names baby names

下载

2.1.0

详情介绍:

Estasoft Name Catalog turns WordPress into a searchable names database - useful for baby names, place names, or any structured name collection. Add entries one at a time through a simple admin screen, or bulk-import thousands (or hundreds of thousands) at once from a CSV, JSON, or Excel file, with a guided wizard: drag a file in, map its columns, preview the first rows, then watch live progress with an estimated time remaining. Search and browse, with AJAX filtering by gender and origin, A-Z navigation, and search that matches a name's meaning as well as its spelling. Kurdish Latin and Sorani (right-to-left) alphabets are supported natively. SEO built in. Meta titles and descriptions (with a live Google-result preview), FAQPage and DefinedTerm structured data, Open Graph and Twitter cards, breadcrumbs, and automatic 301 redirects when a name or category is merged or removed - all independently toggleable, and all stepping aside automatically if Yoast, Rank Math, All in One SEO, or SEOPress is active. Visitor tools, each its own shortcode and editor block: a personal "Namelist" visitors can save to and share, a name combination checker, a side-by-side comparison tool, a sibling-name generator, swipe-to-save discovery mode, a "name of the day," and a Root Dictionary linking names that share a linguistic root. Data quality tools for admins: find duplicates, spot names missing key fields, and merge categories that drifted apart (like "Boy" and "Male") without creating duplicate taxonomy terms. Built for scale. Imports and exports process in the background in batches, so even very large files never time out. An optional FULLTEXT search index and WP-CLI import support suit directories in the tens or hundreds of thousands of names. Every database query is prepared or goes through WP_Query, every admin action is nonce-verified and capability-checked, and all output is escaped at the point of use. See the FAQ below for the full shortcode list with every available attribute, and for more on the SEO, security, and performance details.

安装:

  1. Upload the plugin files to /wp-content/plugins/estasoft-name-catalog, or install directly through the WordPress Plugins screen.
  2. Activate the plugin through the "Plugins" screen.
  3. Go to the new "Estasoft Name Catalog" menu in wp-admin and add your first name, or go to Estasoft Name Catalog > Import to bulk-upload a file.
  4. Place any of the shortcodes above on a page or post.

屏幕截图:

  • A guided import: drag a file in, map its columns, and preview the first rows before anything is written.
  • The live progress view during import, with an estimated time remaining and a line-by-line log.
  • A single name page, showing meaning, origin, pronunciation, and similar names.
  • The SEO settings tab, with a live preview of the Google result and social card.
  • The Settings screen's Display tab, for choosing grid or list layout, accent color, and more.

常见问题:

What shortcodes are available, and what attributes does each take?

  • [wpned_search] - live search box with gender and origin filters (AJAX, no page reload). Matches a name's meaning as well as its title (searching "sun" finds a name meaning "sun, day" even if it isn't spelled that way). Attributes: target (CSS selector of a results container to update instead of its own - used to combine with an existing listing so there is only ever one results area on the page), fixed_gender / fixed_origin (lock the query to one taxonomy term and hide that dropdown - handy on a page that's already about one gender/origin), columns (1-6, default 3).
  • [wpned_az] - A-Z browsing navigation. Attribute: target (same CSS selector as a [wpned_search] on the same page, so letter clicks and search/filter changes drive the exact same results instead of conflicting).
  • [wpned_of_day] - a featured random name, refreshed once per day.
  • [wpned_popular gender="girl" count="5" title="Popular Girl Names"] - a simple popularity list.
  • [wpned_ranked_list gender="boy" count="20" columns="3"] - a "Top 20" style multi-column list with a save/favorite heart on each row.
  • [wpned_favorites columns="3"] - shows the current visitor's saved names (stored in their browser, or synced to their account if logged in), with a "Print this list" and "Share my list" button. Put this on its own page (e.g. "My Namelist") and add that page to Appearance > Menus - no extra plugin setup needed.
  • [wpned_compare slots="3"] - lets a visitor type/pick 2-3 existing names and see them compared side by side (meaning, gender, origin, pronunciation).
  • [wpned_sibling_generator columns="3"] - pick one name, get suggestions that share its origin and/or gender - a "goes well with" tool that needs no extra data entry.
  • [wpned_random label="Show me a random name"] - a button linking to one randomly chosen name, picked fresh each time the page renders, equally likely regardless of gaps in your database's ID numbering.
  • [wpned_roots orderby="name" limit="500" min_count="1"] - the Root Dictionary: every linguistic root that names are built from, grouped alphabetically (or orderby="count" for most-used first), each linking to a page listing every name that shares it.
  • [wpned_swipe] - shows one random name at a time; swipe right (or Save / right arrow) to add it to the visitor's Namelist, swipe left (Skip / left arrow) to move on. Options: gender="boy", origin="kurdish", favorites_url="/my-list/".
  • [wpned_name_combo] - lets a visitor type a first, optional middle, and last name and see the initials, a rough syllable count, the rhythm, and how the names hand off to each other. Worked out entirely in the browser; nothing is stored. Every feature above is also available as an editor block (search the block inserter for the feature's name, such as "Name search" or "A-Z bar") and through the shortcode builder on the Getting Started page. Every name page also has social share buttons built in automatically (X, Facebook, WhatsApp, Pinterest, Telegram, Copy Link - choose which ones appear in Settings) - no shortcode needed.

What does this plugin do for security and performance?

  • Every database query goes through WP_Query or a fully prepared statement - no raw, unescaped SQL.
  • All admin form submissions and AJAX requests are nonce-verified and capability-checked.
  • All output is escaped at the point of output; JSON-LD output is additionally hardened against a literal </script> in any field breaking out of the schema block.
  • The Compare Names and Sibling Generator tools build their UI from raw JSON field values entirely through safe DOM methods (never innerHTML of untrusted text), so a name or meaning containing markup can never execute as code.
  • Uploaded import files are stored under a randomized filename in a directory with directory-listing and direct-access blocked, and are deleted once the import completes.
  • No content is deleted on uninstall unless you remove it yourself.
  • Imports and exports process in small background batches, so files with hundreds of thousands of rows will not hit a server timeout.
  • An optional FULLTEXT search index (Settings > Advanced) suits large directories (roughly 50,000+ names) by giving search a real MySQL index instead of pattern matching, which can't use one at all. Off by default; reversed automatically if the plugin is ever deleted.
  • wp wpned import <file> (WP-CLI) reuses the same import logic as the browser importer, but processes a whole file in one pass - faster for a one-time bulk load than the browser importer, which is built for smaller day-to-day additions.

Does this support multiple genders?

The Gender taxonomy ships with "Boy" and "Girl" by default. You can rename or add terms under Estasoft Name Catalog > Gender at any time, since it's a standard WordPress taxonomy - and any new gender value in an imported file is created automatically.

Can I change how a single name page, archive, or gender/origin page looks?

Yes. Add a single-wpned_name.php, archive-wpned_name.php, or taxonomy-wpned_gender.php / taxonomy-wpned_origin.php file to your active theme and it will automatically override the plugin's default template.

How do I add a "My Namelist" (favorites) link to my site's header menu?

Create a new Page (e.g. titled "My Namelist"), add the [wpned_favorites] shortcode to it, publish it, then go to Appearance > Menus in wp-admin and add that Page to your navigation menu like any other page. No extra plugin configuration is needed - favorites are stored in each visitor's own browser, so the page just displays whatever they've saved.

Does this conflict with Yoast/Rank Math/AIOSEO/SEOPress?

No. This plugin detects whether one of those is active and lets it fully own the meta title and meta description (so you keep using that plugin's own editor UI for those). The structured data (JSON-LD) this plugin adds is separate and additive - it will not remove or duplicate anything those plugins generate on their own.

I merged two categories / trashed a name - will old links to it break?

Not if redirects are on (Settings > SEO, on by default). Merging two categories in Merge Terms 301-redirects the old category's page to the surviving one. For an individual name, open it, fill in "Redirect this name to" with the address of the page you want visitors sent to instead, then move the name to the Trash - the redirect activates as soon as it's trashed. Neither happens unless you set it up; nothing is redirected automatically just because a name is deleted.

Should I turn on "hide thin pages from search engines"?

It's off by default because it can remove a page search engines had already indexed. If your site has many categories or letters with only one or two names each, turning it on (Settings > SEO) can help by keeping those near-empty pages out of results until they have more content - search engines generally rank a site better when it isn't full of thin pages. If most of your categories are well populated, you likely don't need it.

The content isn't lined up with my header/footer.

The pages follow your theme's "wide" width by default. If your header uses a different width, set Estasoft Name Catalog > Settings > Maximum content width to match it. If the header or footer itself looks wrong on these pages, untick "Theme header & footer" in the same screen. Note that pages you build yourself with shortcodes take their width from your theme's normal page layout, not from this plugin.

How do I translate the plugin into Kurdish (or anything else)?

Install Loco Translate or Poedit and start from languages/wpned.pot. Sorani is locale ckb and Kurmanji is kmr; the files must be named wpned-ckb.mo / wpned-kmr.mo (Loco does this for you). Then set your site language under Settings > General, or use a multilingual plugin such as Polylang, WPML or TranslatePress. First drafts of a few dozen short labels for both dialects are included as wpned-ckb.po and wpned-kmr.po. They are deliberately marked "fuzzy" - a draft by a non-native speaker - so WordPress ignores them until a native speaker reviews each one and clears the flag. Entries marked "LOW CONFIDENCE" need the closest look. Sentences were left blank rather than guessed. The plugin's on-page messages (search status, sharing, name checker) are translated too, since they come from the same files.

How does sharing my list work, and is it private?

The link contains only the IDs of the public names on your list, compressed into the address, so there is nothing to look up and nothing stored on the server. Anyone who has the link can see those names, and nothing else about you. Up to your 500 most recent names go into a link.

The A-Z bar doesn't have Ç, Ş, Î... or my Sorani letters.

Settings > Display > A-Z bar alphabet. Choose Kurdish Latin or Sorani. Names already stored as a plain letter followed by a separate accent mark may need re-importing (with "update existing names" ticked) so they sort under the right letter.

My file says "Male" but my site uses "Boy". How do I avoid two categories?

Add Male = Boy under Settings > Import. It applies to imports from then on. If both categories already exist, use Estasoft Name Catalog > Tools > Merge Terms to combine them.

How do I show names as a table instead of cards?

Estasoft Name Catalog > Settings > Display > Name list layout > List. It applies to every place names are listed. Switch back to Grid at any time; nothing about your names changes.

Where do I create the Compare / My Namelist pages?

Estasoft Name Catalog > Getting Started creates them for you in one click. It only creates pages that don't exist yet.

How do I show the meaning on each name card?

Estasoft Name Catalog > Settings > Display > Name cards > Detailed. It shows gender, origin and a short meaning under each name. Detailed cards suit 2-4 columns better than 5-6.

Do saved names really sync between my devices?

For visitors who are logged in, yes: their list is stored on their account and merged whenever they load a page. Each device remembers what it last synced, so additions and removals both carry over. Visitors who are not logged in keep a browser-only list, and when they later log in, what they saved is added to their account rather than lost.

Will choosing "Update existing" or "Skip existing" make an import slower?

Somewhat: each row needs one lookup to see whether that name already exists. "Create new" (the default) skips that lookup entirely. Matching is by exact name, and whether "Welat" and "welat" count as the same follows your database's collation (the WordPress default treats them as the same).

My file's columns aren't named exactly "name", "gender", etc. - do I need to rename them?

No. After choosing a file, a mapping step lets you match each of your file's columns to the right field (so a column called "Full Name" can be mapped to "name", for instance). Your file itself is never changed. Only "name" needs to be mapped before you can continue; anything left unmapped is simply not imported.

Where do I find out which rows failed during an import?

Once the import finishes, if anything was skipped, a "Download error log" link appears with the result. It lists the specific row number and reason for every skipped row (a missing name, or "already exists" when Skip existing is chosen, for example) - not just a count.

Will this work with 500,000+ names?

Yes. Bulk import is processed in small batches with a file-offset cursor, so memory use stays flat regardless of file size - or use wp wpned import <file> via WP-CLI for a one-time full-dataset load, which is faster than the browser importer. The "similar names" feature queries a bounded candidate pool per lookup and caches results. Once your directory is large, turning on the optional FULLTEXT search index (Estasoft Name Catalog > Settings) keeps the search box fast; for extremely high-traffic sites at that scale, also consider adding an object cache (e.g. Redis).

Is the FULLTEXT search index safe to turn on?

Yes - it only adds a standard MySQL search index to the post title column, the same kind of index countless WordPress plugins add for their own purposes. It's off by default (you choose when to enable it, typically once your directory is large enough to benefit), and one click reverses it completely with no other effect on your site. It's also automatically reversed if you delete the plugin entirely.

更新日志:

2.1.0 2.0.0 1.16.1 1.16.0 1.15.0 1.14.0 1.13.0 1.12.0 1.11.2 1.11.1 1.11.0 1.10.0 1.9.0 1.8.0 1.7.0 1.6.0 1.5.0 1.4.0 1.3.2 1.3.1 1.3.0 1.2.0 1.1.3 1.1.2 1.1.1 1.1.0 1.0.0