'; echo '
' . esc_html($title) . '
'; } function mkb_glossar_help_visual_end($note) { echo '

' . esc_html($note) . '

'; } /** A small, reusable informational step: no fake interactive form controls. */ function mkb_glossar_help_visual_step($number, $label, $description) { echo '
'; echo ''; echo '
' . esc_html($label) . '' . esc_html($description) . '
'; } /** CSV: actual sample header keys and example values, rendered as a readable table. */ function mkb_glossar_help_visual_csv_sheet() { $row = function_exists('mkb_glossar_csv_sample_row') ? mkb_glossar_csv_sample_row() : [ 'title' => 'Beispielbegriff', 'slug' => 'beispielbegriff', 'summary' => 'Eine kurze Erklaerung des Begriffs.', 'status' => 'draft', ]; $columns = ['title', 'slug', 'summary', 'status']; mkb_glossar_help_visual_start('mkb-help-visual-csv-sheet', __('A CSV file viewed as a table', 'mkb-glossar')); echo '
'; echo ''; echo ''; foreach ($columns as $name) echo ''; echo ''; foreach ($columns as $name) echo ''; echo '
' . esc_html__('Example of four unchanged technical column names and one sample row.', 'mkb-glossar') . '
#' . esc_html($name) . '
1' . esc_html((string) ($row[$name] ?? '')) . '
'; echo '

' . esc_html__('Scroll the table sideways to see all columns.', 'mkb-glossar') . '

'; mkb_glossar_help_visual_end(__('Example from the downloadable sample: four of the 18 technical columns are shown. Keep every header unchanged; replace the draft example with your own data.', 'mkb-glossar')); } /** CSV: encoding, delimiter and text quoting - independent but closely related choices. */ function mkb_glossar_help_visual_csv_format() { mkb_glossar_help_visual_start('mkb-help-visual-csv-format', __('Three checks before saving your CSV', 'mkb-glossar')); echo '
'; $items = [ [__('Encoding', 'mkb-glossar'), 'UTF-8', __('Preserves characters such as ä, ö, ü and é.', 'mkb-glossar')], [__('Separator', 'mkb-glossar'), ';', __('Use semicolon, or comma if your spreadsheet program requires it.', 'mkb-glossar')], [__('Quoted text', 'mkb-glossar'), '"Text; mit Trennzeichen"', __('Quotation marks protect separators within one cell.', 'mkb-glossar')], ]; foreach ($items as $item) { echo '
' . esc_html($item[0]) . '' . esc_html($item[1]) . '

' . esc_html($item[2]) . '

'; } echo '
'; mkb_glossar_help_visual_end(__('These are illustrative values. Export a real CSV file; simply changing a filename extension is not enough.', 'mkb-glossar')); } /** CSV: the review gate, accurately separated from the data-changing action. */ function mkb_glossar_help_visual_csv_review() { mkb_glossar_help_visual_start('mkb-help-visual-csv-review', __('Import safely: review before applying changes', 'mkb-glossar')); echo '
'; mkb_glossar_help_visual_step('1', __('Choose the file', 'mkb-glossar'), __('Select a UTF-8 CSV file.', 'mkb-glossar')); mkb_glossar_help_visual_step('2', __('Match the columns', 'mkb-glossar'), __('Check that title, summary and other fields are assigned correctly.', 'mkb-glossar')); mkb_glossar_help_visual_step('3', __('Check the preview', 'mkb-glossar'), __('Review new entries, duplicates and any warnings.', 'mkb-glossar')); mkb_glossar_help_visual_step('4', __('Confirm the import', 'mkb-glossar'), __('Only the final confirmation applies the reviewed changes.', 'mkb-glossar')); echo '
'; mkb_glossar_help_visual_end(__('For the first test, import drafts and skip existing entries. This illustration does not start an import.', 'mkb-glossar')); } /** Link targets: distinguish an ordinary glossary page from an explicitly configured external destination. */ function mkb_glossar_help_visual_link_targets() { mkb_glossar_help_visual_start('mkb-help-visual-link-targets', __('Two possible destinations for a recognized word', 'mkb-glossar')); echo '
'; echo '
' . esc_html__('Usual destination', 'mkb-glossar') . ''; echo '' . esc_html__('Accessibility', 'mkb-glossar') . ''; echo '

' . esc_html__('Opens the published explanation on your own website.', 'mkb-glossar') . '

'; echo '
' . esc_html__('External destination (optional)', 'mkb-glossar') . ''; echo '' . esc_html__('Accessibility', 'mkb-glossar') . ''; echo '

' . esc_html__('Opens another website only when an external destination is explicitly enabled for this entry.', 'mkb-glossar') . '

'; mkb_glossar_help_visual_end(__('The arrow is illustrative. Your actual external-link icon is chosen under Settings → Linking; it is shown only when the external-link marker is enabled.', 'mkb-glossar')); } /** Search: a noninteractive example showing how suggestions and Enter differ. */ function mkb_glossar_help_visual_search_flow() { $names = mkb_glossar_display_names(); /* translators: %s is the configured singular item name (for example, Artikel). */ $direct = sprintf(__('Open %s directly', 'mkb-glossar'), $names['item']); mkb_glossar_help_visual_start('mkb-help-visual-search', __('How the separate quick search works', 'mkb-glossar')); echo ''; echo '
'; echo '
' . esc_html__('Select a suggestion or press Enter for an exact or unique match', 'mkb-glossar') . '' . esc_html($direct) . '
'; echo '
' . esc_html__('Press Enter without an exact or unique match', 'mkb-glossar') . '' . esc_html__('Open the filtered overview', 'mkb-glossar') . '
'; echo '
'; mkb_glossar_help_visual_end(__('This is the separate quick-search widget, not the full-text search within the overview. The illustration is not interactive. The Search button is optional; “View all results” opens the overview.', 'mkb-glossar')); } /** Editor: a short definition and a full explanation belong to the same content item. */ function mkb_glossar_help_visual_editor() { $names = mkb_glossar_display_names(); /* translators: %s is the configured singular item name (for example, Artikel). */ $title = sprintf(__('Two ways to explain %s', 'mkb-glossar'), $names['item']); mkb_glossar_help_visual_start('mkb-help-visual-editor', $title); echo '
'; echo '
' . esc_html__('Short definition for tooltips', 'mkb-glossar') . ''; echo '' . esc_html__('A quick answer while reading', 'mkb-glossar') . ''; echo '

' . esc_html__('Write one or two short sentences for a linked word.', 'mkb-glossar') . '

'; echo '
' . esc_html__('Detailed explanation', 'mkb-glossar') . ''; echo '' . esc_html__('More context on its own page', 'mkb-glossar') . ''; echo '

' . esc_html__('Use the full editor for examples and background information.', 'mkb-glossar') . '

'; mkb_glossar_help_visual_end(__('Both belong to the same content item. A tooltip requires a short definition and an enabled tooltip setting.', 'mkb-glossar')); } /** Troubleshooting: decision aid, not an automated diagnostic. */ function mkb_glossar_help_visual_diagnosis() { mkb_glossar_help_visual_start('mkb-help-visual-diagnosis', __('No automatic links? Check in this order', 'mkb-glossar')); echo '
'; mkb_glossar_help_visual_step('1', __('Enabled and allowed?', 'mkb-glossar'), __('Automatic linking is on, and this content type is selected.', 'mkb-glossar')); mkb_glossar_help_visual_step('2', __('A published match?', 'mkb-glossar'), __('A matching published entry exists for the page language.', 'mkb-glossar')); mkb_glossar_help_visual_step('3', __('No exclusion?', 'mkb-glossar'), __('The page and its assigned categories or tags are not excluded.', 'mkb-glossar')); echo '
'; mkb_glossar_help_visual_end(__('Test a normal text paragraph on a published page. Headings, buttons and manually inserted links are protected.', 'mkb-glossar')); } /** Short explanation behavior in context, without requiring enabled tooltips or saving a term. */ function mkb_glossar_help_visual_tooltip() { mkb_glossar_help_visual_start('mkb-help-visual-tooltip', __('An explanation in the reading flow', 'mkb-glossar')); echo '
'; echo '

' . esc_html__('Our website is designed with', 'mkb-glossar') . ' ' . esc_html__('accessibility', 'mkb-glossar') . ' ' . esc_html__('in mind.', 'mkb-glossar') . '

'; echo '
' . esc_html__('Accessibility', 'mkb-glossar') . '' . esc_html__('Making a website usable for as many people as possible.', 'mkb-glossar') . '
'; echo '
'; mkb_glossar_help_visual_end(__('A real tooltip appears on hover, keyboard focus or tap when a linked entry has a short definition. This is a static example.', 'mkb-glossar')); } /** Topics are glossary organization, not WordPress category exclusions. */ function mkb_glossar_help_visual_topics() { $names = mkb_glossar_display_names(); mkb_glossar_help_visual_start('mkb-help-visual-topics', __('Organize explanations without changing where links appear', 'mkb-glossar')); echo '
'; echo '
' . esc_html__('Inside the content editor', 'mkb-glossar') . ''; /* translators: %s is the configured singular item name (for example, Artikel). */ echo '' . esc_html(sprintf(__('Assign a topic to %s', 'mkb-glossar'), $names['item'])) . ''; echo '
' . esc_html__('Colour techniques', 'mkb-glossar') . '' . esc_html__('Care', 'mkb-glossar') . '
'; echo '

' . esc_html__('Use topics to help readers filter your glossary overview.', 'mkb-glossar') . '

'; echo '
' . esc_html__('A separate WordPress setting', 'mkb-glossar') . ''; echo '' . esc_html__('Exclude a post category from automatic links', 'mkb-glossar') . ''; echo '

' . esc_html__('Post categories and tags are managed under Settings → Exclusions. They do not change the topics assigned to glossary content.', 'mkb-glossar') . '

'; mkb_glossar_help_visual_end(__('Illustration: topics organize entries; exclusions decide whether WordPress posts receive automatic links.', 'mkb-glossar')); } /** Language pairs are translations, not aliases or automatically created content. */ function mkb_glossar_help_visual_translations() { mkb_glossar_help_visual_start('mkb-help-visual-translations', __('Two languages: connect translations, not synonyms', 'mkb-glossar')); echo '
'; echo '
DEÖffnungszeiten' . esc_html__('German content', 'mkb-glossar') . '
'; echo ''; echo '
ENOpening hours' . esc_html__('English content', 'mkb-glossar') . '
'; mkb_glossar_help_visual_end(__('Publish each language version and connect them using Polylang or WPML if installed. A synonym is an alternative name within one language, not a translation.', 'mkb-glossar')); } /** Actual shipped icon artwork, used as read-only informational samples. */ function mkb_glossar_help_visual_icon_choices() { mkb_glossar_help_visual_start('mkb-help-visual-icon-choices', __('Choose the external-link marker', 'mkb-glossar')); $icons = [ ['external-link.svg', __('Standard', 'mkb-glossar')], ['arrow-up-right.svg', __('Arrow', 'mkb-glossar')], ['globe.svg', __('Globe', 'mkb-glossar')], ['link.svg', __('Link', 'mkb-glossar')], ]; echo '
'; echo '
'; foreach ($icons as $icon) { echo '
' . esc_html($icon[1]) . '
'; } echo '
'; echo '
' . esc_html__('Own image from the Media Library', 'mkb-glossar') . '

' . esc_html__('PNG, WebP, JPG or AVIF. Your own image keeps its original colours.', 'mkb-glossar') . '

'; echo '
'; mkb_glossar_help_visual_end(__('Illustration of the available choices, not a working settings panel. In Settings → Linking, enable the external marker first; its icon options then appear immediately.', 'mkb-glossar')); } /** Different editors use deliberately different protection controls. */ function mkb_glossar_help_visual_protected_passages() { mkb_glossar_help_visual_start('mkb-help-visual-protected', __('Protect only the passage that should stay unlinked', 'mkb-glossar')); echo '
'; foreach ([ [__('Elementor Text Editor', 'mkb-glossar'), __('Content tab → switch on', 'mkb-glossar'), __('Disable automatic glossary links', 'mkb-glossar')], [__('Gutenberg', 'mkb-glossar'), __('Paragraph or Group → Styles', 'mkb-glossar'), __('Without automatic glossary links', 'mkb-glossar')], [__('Classic editor', 'mkb-glossar'), __('Wrap only the protected text', 'mkb-glossar'), '[mkb_glossar_ohne_links]…[/mkb_glossar_ohne_links]'], ] as $entry) { echo '
' . esc_html($entry[0]) . '' . esc_html($entry[1]) . '

' . esc_html($entry[2]) . '

'; } echo '
'; mkb_glossar_help_visual_end(__('Only automatically generated glossary links are suppressed in the protected passage. Links you inserted manually are not removed.', 'mkb-glossar')); } /** Exact rendering options without implying that Elementor Pro is required. */ function mkb_glossar_help_visual_placement() { mkb_glossar_help_visual_start('mkb-help-visual-placement', __('Three ways to place the overview', 'mkb-glossar')); echo '
'; foreach ([ [__('Elementor (Free)', 'mkb-glossar'), __('Drag the MKB Glossar overview widget onto your page.', 'mkb-glossar')], [__('WordPress block editor', 'mkb-glossar'), __('Add the MKB Glossar block to your page.', 'mkb-glossar')], [__('Shortcode', 'mkb-glossar'), __('Paste the shortcode into a Shortcode block.', 'mkb-glossar')], ] as $entry) { echo '
' . esc_html($entry[0]) . '' . esc_html($entry[1]) . '
'; } echo '
'; echo '
[mkb_glossar]' . esc_html__('The same overview, without requiring Elementor.', 'mkb-glossar') . '
'; mkb_glossar_help_visual_end(__('These are three alternatives for the glossary overview, not three steps you must all complete. Preview the published page after inserting one.', 'mkb-glossar')); } /** Elementor Free site-wide details container differs from Elementor Pro Theme Builder. */ function mkb_glossar_help_visual_elementor_details() { mkb_glossar_help_visual_start('mkb-help-visual-details', __('One shared details layout in Elementor Free', 'mkb-glossar')); echo '
'; mkb_glossar_help_visual_step('1', __('Save a container', 'mkb-glossar'), __('Place the MKB Glossary Details widget inside a saved Elementor container.', 'mkb-glossar')); mkb_glossar_help_visual_step('2', __('Select the template', 'mkb-glossar'), __('Choose that saved container once under Settings → General.', 'mkb-glossar')); mkb_glossar_help_visual_step('3', __('Review the public pages', 'mkb-glossar'), __('The shared layout displays details for the current published glossary entry.', 'mkb-glossar')); echo '
'; echo '

' . esc_html__('Elementor Pro can instead use a Theme Builder Single template. That is a separate option; it is not required for the Elementor Free workflow.', 'mkb-glossar') . '

'; mkb_glossar_help_visual_end(__('Read-only workflow illustration. The saved container must exist before it can be selected in MKB Glossar settings.', 'mkb-glossar')); } /** Keyboard, touch and pointer are equivalent ways to reveal a short definition. */ function mkb_glossar_help_visual_tooltip_access() { mkb_glossar_help_visual_start('mkb-help-visual-tooltip-access', __('A tooltip should be usable without a mouse', 'mkb-glossar')); echo '
'; foreach ([ [__('Pointer', 'mkb-glossar'), __('Hover over the linked word.', 'mkb-glossar')], [__('Touchscreen', 'mkb-glossar'), __('First tap: show the definition. Second tap: follow the link.', 'mkb-glossar')], [__('Keyboard', 'mkb-glossar'), __('Tab: focus the link. Escape: close. Enter: follow the link.', 'mkb-glossar')], ] as $entry) { echo '
' . esc_html($entry[0]) . '' . esc_html($entry[1]) . '
'; } echo '
'; mkb_glossar_help_visual_end(__('Check this on a published page with tooltips enabled and a short definition saved. These are instructions, not interactive controls.', 'mkb-glossar')); }