| 开发者 | corelisting |
|---|---|
| 更新时间 | 2026年10月3日 06:35 |
| PHP版本: | 8.0 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
[corelisting_listings]. Filter by office, property type, status and price range; control sort order, result limit and column count.[corelisting_sold], for a "Recent Closings" or track record page. Accepts the same filters, with status locked to sold.[corelisting_search]: keyword, status, sale or lease, property type, price, size, year built and featured filters, sorting, and a map beside the list. Every listing loads with the page, so results update as the visitor types, and the list follows the map as they zoom and pan. Each control can be switched on, off, or off on mobile only, and the layout, pin colour and map style are all attributes. The map needs a Google Maps API key, entered on the settings screen.[corelisting_members], showing the photo, name, titles, licenses, biography, email and phone for every member flagged "Show on Team Page" in Core Listing. Scope it to a single office, or hide biographies with show_bio="no"..corelisting-grid, .corelisting-card, .corelisting-photo and .corelisting-detail-value. Every detail row also carries a class naming its field, for example .corelisting-detail-price, so a single row can be styled on its own. Restyle everything from Appearance to Customize to Additional CSS without touching plugin files.
External services
This plugin is a client for Core Listing, a third party software as a service platform at corelisting.com. It is only useful with an active Core Listing account, and it makes no outbound request at all until you save an API key on the settings screen.
Once connected, the plugin contacts https://corelisting.com (or your account's own white label domain, if you have configured one) in the following situations:
[corelisting_search] also load two third party services directly in the visitor's browser:
https://maps.googleapis.com to draw the map and pins. Google receives the visitor's IP address and browser details, as with any embedded Google map, and may set its own cookies. Without a key the map is not loaded at all and the search runs as a list. Google Maps terms: cloud.google.com/maps-platform/terms. Google privacy policy: policies.google.com/privacy.geocode_missing attribute is on (the default). The browser sends that listing's address to https://nominatim.openstreetmap.org to place its pin, and caches the answer in the browser so it is asked once. OpenStreetMap receives the visitor's IP address. Set geocode_missing="no" to turn this off. Usage policy: operations.osmfoundation.org/policies/nominatim. Privacy policy: osmfoundation.org/wiki/Privacy_Policy.[corelisting_listings] to any page, or insert the "Core Listing Listings" block.https://listings.yourbrokerage.com) so images are served from your own host. If you do not have one yet, use https://corelisting.com. Your subdomain on its own, such as acme, also works as shorthand for https://acme.corelisting.com.Yes. This plugin is a display client for the Core Listing platform and has no listing data of its own. Without an account and an API key it has nothing to show.
In Core Listing, go to Integrations to WordPress and click "Generate WordPress API Key". The key is scoped so it can only read the data this plugin needs. You can revoke it from the same screen at any time.
[corelisting_listings] for active inventory, [corelisting_sold] for sold and closed transactions, [corelisting_search] for a search page with a map, and [corelisting_members] for your public team roster. Every attribute is documented on the Settings to Core Listing screen.
Core Listing creates it for you during onboarding and restricts it to your site's domain. Paste it into Settings to Core Listing. Until a key is saved, [corelisting_search] still works as a list without the map, and administrators see a short note saying why.
The shortcodes were renamed in 1.4.0, from [crm_listings], [crm_sold] and [crm_members] to [corelisting_listings], [corelisting_sold] and [corelisting_members]. Edit any page still using an old name and change it. Pages built with the blocks rather than the shortcodes are unaffected.
Yes. Pass the office attribute with either the office name or its numeric ID, for example [corelisting_listings office="Denver"]. It works on all three shortcodes.
Within seconds, once you have clicked "Register Webhook with Core Listing". Core Listing then pushes a signed event on every listing change and the plugin clears its cache immediately. Without the webhook, changes appear when the cache expires, which defaults to 15 minutes and is configurable.
Yes, in Core Listing rather than in WordPress. Go to Account Settings and then Listing Display, pick the heading, the sub-line and the detail rows, and rename any label. The same screen has one brokerage-wide choice of whether the details sit below the photo or beside it. You can save a different field list for each property type, so multifamily can lead with unit count while retail leads with rent, and you can give one listing its own layout from the Card Display section of the listing editor. The plugin follows automatically on the next cache refresh, or immediately if you have registered the webhook.
Yes. Every element carries a stable CSS class, so you can restyle the grid entirely from Appearance to Customize to Additional CSS. The Settings to Core Listing screen lists the class names and shows example rules.
Yes. All three shortcodes are also registered as blocks under the widgets category, with sidebar controls for every filter and layout option and a live server rendered preview in the editor.
The plugin sets no cookies, adds no tracking scripts and never transmits visitor information itself. The exception is a page using [corelisting_search] with a Google Maps key saved: the visitor's browser loads the map from Google, which sees the visitor's IP address as with any embedded map. See the "External services" section above for the complete list.
Log in as an administrator and view the page. When something is misconfigured the plugin prints a short diagnostic, visible only to administrators, showing the URL it called and the HTTP status it received. Then confirm the Core Listing URL and API key on the settings screen and click "Test Connection".
hover_popup="yes" in [corelisting_search], clicking a listing card opens the listing, since hovering already shows its map popup.[corelisting_search] are listed after all other listings, whatever sort order is chosen. Set sold_last="no" to sort them in with everything else.[corelisting_search] never show their asking price. Cards and map popups show the Custom Sold Price Text if set, otherwise the Sold Price, otherwise no price at all. Price per SF, per unit and per lot SF are left off sold listings, since they come from the asking price. Price sorting and the price filter use the sold price for sold listings.[corelisting_search] status badges can be recoloured with status_color_for_sale, status_color_for_lease, status_color_under_contract, status_color_coming_soon, status_color_sold and status_color_off_market.pin_color_by_status="badge" makes each map pin match its card's badge colour. pin_color_by_status="yes" still gives pins their own colours, separate from the badges.[corelisting_search]. Marking a listing sold in Core Listing also closes it, and the search's default hide_closed removed every closed listing before show_sold was considered. Sold listings with "List on Sold Page" ticked now show, the same rule as your Sold page, and other closed listings stay hidden.[corelisting_search] cards and map popups now show the fields you chose in Core Listing under Account Settings then Listing Display, the same as [corelisting_listings]. Set card_fields="fixed" to keep the fixed price, name, address and chips layout instead.[corelisting_search] shortcode: a listings search with a map beside the list. Keyword, status, sale or lease, property type, price, size, year built and featured filters, plus sorting, all instant with no page reload. In split view the list follows the map and loads more as the visitor scrolls.width attribute (content, wide or full) lets the search break out of a theme's narrow content column, so the map has room.aspect-ratio on .corelisting-photo, banners will still lose their edges there. Remove the override to fix it.[corelisting_listings], [corelisting_sold] and [corelisting_members]. They were [crm_listings], [crm_sold] and [crm_members], names generic enough to collide with another plugin on the same site. Any page still using an old name needs editing; the blocks are unchanged and keep working..corelisting-card-side class, and their grid carries .corelisting-grid-side, so a theme can restyle the arrangement.columns attribute is still honoured as written..corelisting-subhead, .corelisting-details, .corelisting-detail, .corelisting-detail-label, .corelisting-detail-value, plus a per-field class such as .corelisting-detail-price on every row.core-listing so translations load correctly from WordPress.org.show_bio attribute for [crm_members], with an example.[crm_members show_bio="no"] or the "Show biographies" toggle on the block.[crm_members] and the Team Members block accept an office attribute (name or numeric ID) to scope the roster to one office.[crm_sold] accepts the same office filter as [crm_listings].[crm_listings] shortcode and block, server rendered with no build step.