{"id":16581,"date":"2026-01-09T20:18:40","date_gmt":"2026-01-09T20:18:40","guid":{"rendered":"https:\/\/www.kadencewp.com\/help-center\/?post_type=docs&#038;p=16581"},"modified":"2026-04-22T16:02:38","modified_gmt":"2026-04-22T16:02:38","password":"","slug":"use-category-and-taxonomy-images-with-kadence-dynamic-content","status":"publish","type":"docs","link":"https:\/\/www.kadencewp.com\/help-center\/docs\/kadence-theme\/use-category-and-taxonomy-images-with-kadence-dynamic-content\/","title":{"rendered":"How to Use Category &amp; Taxonomy Images with Kadence Dynamic Content"},"content":{"rendered":"\n<p>This guide shows how to display a <strong>Kadence Theme Kit Pro<\/strong> taxonomy image (like a Category image) inside blocks that support <strong>Kadence Blocks Pro Dynamic Content<\/strong>, such as <strong>Image (Adv) <\/strong>or <strong>Row block <\/strong>background image.\u00a0<br><br>This will display the <strong>\u201cAbove Header Background Image\u201d<\/strong> saved in the archive settings so it can be used when <a href=\"https:\/\/www.kadencewp.com\/help-center\/docs\/kadence-theme\/how-to-create-a-custom-archive-page-template-with-kadence-hooked-elements\/\">designing<\/a> category, taxonomy, and other archive templates with <strong>Kadence Blocks<\/strong>.\u00a0<br><br>Since Kadence Dynamic Content does not currently include a built-in \u201cCategory Image\u201d option, this workaround uses <strong>Archive &gt; Archive Custom Field<\/strong> with <strong>Custom Input<\/strong> to pull that saved image.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading16581_98a373-3e, .wp-block-kadence-advancedheading.kt-adv-heading16581_98a373-3e[data-kb-block=\"kb-adv-heading16581_98a373-3e\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading16581_98a373-3e mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading16581_98a373-3e[data-kb-block=\"kb-adv-heading16581_98a373-3e\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading16581_98a373-3e img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading16581_98a373-3e[data-kb-block=\"kb-adv-heading16581_98a373-3e\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<p class=\"kt-adv-heading16581_98a373-3e wp-block-kadence-advancedheading has-theme-palette-8-background-color has-background\" data-kb-block=\"kb-adv-heading16581_98a373-3e\">\u26a0\ufe0f <strong>Important:<\/strong> This is an advanced workaround that requires adding PHP. If Kadence adds an official taxonomy image option later, this snippet may no longer be needed. A related feature request exists: <a href=\"https:\/\/feedback.kadencewp.com\/p\/set-the-source-of-an-image-to-a-specific-taxonomy-in-the-loop-using-the-advanced-image-block\" target=\"_blank\" rel=\"noopener\"><strong>Set the source of an image to a specific taxonomy in the loop using the Advanced Image block<\/strong><\/a><\/p>\n\n\n<style>.kb-table-of-content-nav.kb-table-of-content-id16581_c7f2fa-ac .kb-table-of-content-wrap{padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-right:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);padding-left:var(--global-kb-spacing-sm, 1.5rem);}.kb-table-of-content-nav.kb-table-of-content-id16581_c7f2fa-ac .kb-table-of-contents-title-wrap{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id16581_c7f2fa-ac .kb-table-of-contents-title{font-weight:regular;font-style:normal;}.kb-table-of-content-nav.kb-table-of-content-id16581_c7f2fa-ac .kb-table-of-content-wrap .kb-table-of-content-list{font-weight:regular;font-style:normal;margin-top:var(--global-kb-spacing-sm, 1.5rem);margin-right:0px;margin-bottom:0px;margin-left:0px;}<\/style>\n\n\n<h2 class=\"wp-block-heading\"><strong>Before You Begin<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Kadence Theme<\/strong> is installed and active.<\/li>\n\n\n\n<li><strong>Kadence Theme Kit Pro<\/strong> is installed and active. (Theme Kit Pro is a plugin add-on and requires the free Kadence Theme.)\u00a0<\/li>\n\n\n\n<li><strong>Kadence Blocks<\/strong> and <strong>Kadence Blocks Pro<\/strong> are installed and active (Dynamic Content is part of Blocks Pro).\u00a0<\/li>\n\n\n\n<li>The taxonomy term already has an image set in <strong>Archive Custom Settings<\/strong>.\n<ul class=\"wp-block-list\">\n<li>These settings are found by editing the term, for example: <strong>Dashboard &gt; Posts &gt; Categories &gt; Edit<\/strong>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading16581_cf90c4-8e, .wp-block-kadence-advancedheading.kt-adv-heading16581_cf90c4-8e[data-kb-block=\"kb-adv-heading16581_cf90c4-8e\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading16581_cf90c4-8e mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading16581_cf90c4-8e[data-kb-block=\"kb-adv-heading16581_cf90c4-8e\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading16581_cf90c4-8e img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading16581_cf90c4-8e[data-kb-block=\"kb-adv-heading16581_cf90c4-8e\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<p class=\"kt-adv-heading16581_cf90c4-8e wp-block-kadence-advancedheading has-theme-palette-8-background-color has-background\" data-kb-block=\"kb-adv-heading16581_cf90c4-8e\">\u2705 <strong>Tip:<\/strong> Kadence has a guide for adding custom filters\/functions safely.&nbsp; You can read more about it <a href=\"https:\/\/www.kadencewp.com\/help-center\/docs\/kadence-theme\/how-to-add-a-custom-filter-or-function-with-code-snippets\/\">here.<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What This Workaround Does<\/strong><\/h2>\n\n\n\n<p>Kadence Theme Kit Pro stores the taxonomy image as term meta (a value saved on the category, tag, or other taxonomy term). Kadence Dynamic Content Custom Inputs are usually aimed at post meta, so this snippet \u201cbridges the gap\u201d by returning the correct image data when the meta key kwp-tax-image-id is requested.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 1: Add The PHP Snippet<\/strong><\/h2>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading16581_3528fb-e5, .wp-block-kadence-advancedheading.kt-adv-heading16581_3528fb-e5[data-kb-block=\"kb-adv-heading16581_3528fb-e5\"]{margin-bottom:var(--global-kb-spacing-xxs, 0.5rem);font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading16581_3528fb-e5 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading16581_3528fb-e5[data-kb-block=\"kb-adv-heading16581_3528fb-e5\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading16581_3528fb-e5 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading16581_3528fb-e5[data-kb-block=\"kb-adv-heading16581_3528fb-e5\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<p class=\"kt-adv-heading16581_3528fb-e5 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading16581_3528fb-e5\">Add the snippet using one of these common methods:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A <a href=\"https:\/\/www.kadencewp.com\/help-center\/docs\/kadence-theme\/how-to-add-a-custom-filter-or-function-with-code-snippets\/\">PHP snippet plugin<\/a> (recommended for most sites)\u00a0<\/li>\n\n\n\n<li>A child theme\u2019s functions.php<\/li>\n<\/ul>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading16581_1db698-cd, .wp-block-kadence-advancedheading.kt-adv-heading16581_1db698-cd[data-kb-block=\"kb-adv-heading16581_1db698-cd\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading16581_1db698-cd mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading16581_1db698-cd[data-kb-block=\"kb-adv-heading16581_1db698-cd\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading16581_1db698-cd img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading16581_1db698-cd[data-kb-block=\"kb-adv-heading16581_1db698-cd\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<p class=\"kt-adv-heading16581_1db698-cd wp-block-kadence-advancedheading has-theme-palette-8-background-color has-background\" data-kb-block=\"kb-adv-heading16581_1db698-cd\">\u26a0\ufe0f <strong>Important:<\/strong> The snippet should not be added to a theme file, since theme updates can overwrite changes. This snippet only works on <strong>Advanced<\/strong> <strong>Image<\/strong> <strong>Blocks<\/strong> that are on a <strong>Taxonomy<\/strong> <strong>Archive<\/strong> <strong>Page<\/strong> inserted via a <strong>Hooked<\/strong> <strong>Element<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">\/**\n * Allow Kadence Blocks Pro Dynamic Content to use the Kadence Theme Kit Pro taxonomy image\n * stored in term meta under: kwp-tax-image-id\n *\/\nadd_filter( 'kadence_dynamic_content_render', 'kwptax_img', 7, 9 );\n\nfunction kwptax_img( $output, $item_id, $origin, $group, $field, $para, $custom, $relate, $relcustom ) {\n\n\t\/\/ Only run for Custom Input requests that reference the taxonomy image key.\n\tif ( empty( $para ) || 'kb_custom_input' !== $para || empty( $custom ) || false === strpos( $custom, 'kwp-tax-image-id' ) ) {\n\t\treturn $output;\n\t}\n\n\t$term_id  = absint( $item_id );\n\t$image_id = get_term_meta( $term_id, 'kwp-tax-image-id', true );\n\n\tif ( ! $image_id ) {\n\t\treturn $output;\n\t}\n\n\t$image_id = absint( $image_id );\n\n\t\/\/ Return an array that Kadence expects for dynamic images.\n\t$img = wp_get_attachment_image_src( $image_id, 'full' );\n\tif ( empty( $img ) ) {\n\t\treturn $output;\n\t}\n\n\t\/\/ Add alt text and attachment ID in the positions Kadence expects.\n\t$img[4] = get_post_meta( $image_id, '_wp_attachment_image_alt', true );\n\t$img[5] = $image_id;\n\n\treturn $img;\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 2: Use The Taxonomy Image In Kadence Block<\/strong><\/h2>\n\n\n\n<p>This example uses <strong>Image (Adv)<\/strong> because it supports Dynamic Content with Kadence Blocks Pro. This can also be done with a Row Block background image.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open the template or content where the taxonomy image should appear.\n<ul class=\"wp-block-list\">\n<li>This works best on <strong>taxonomy archive pages<\/strong> (Category archives, Tag archives, and other term archives), or inside an archive template design.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Add an <strong>Image (Adv)<\/strong> block.\u00a0<\/li>\n\n\n\n<li>In the block settings, enable the <strong>Dynamic Content<\/strong> icon for the image source.\u00a0<\/li>\n\n\n\n<li>For the Dynamic Content type, select <strong>Archive &gt; Archive Custom Field<\/strong>.\u00a0<\/li>\n\n\n\n<li>Switch the field selector to <strong>Custom Input<\/strong>.\u00a0<\/li>\n\n\n\n<li>Enter this meta key exactly: <strong>kwp-tax-image-id\u00a0<\/strong><\/li>\n\n\n\n<li>Save changes and view a category archive page on the front end.<\/li>\n<\/ol>\n\n\n<style>.kb-image16581_7ad709-1c.kb-image-is-ratio-size, .kb-image16581_7ad709-1c .kb-image-is-ratio-size{max-width:300px;width:100%;}.wp-block-kadence-column > .kt-inside-inner-col > .kb-image16581_7ad709-1c.kb-image-is-ratio-size, .wp-block-kadence-column > .kt-inside-inner-col > .kb-image16581_7ad709-1c .kb-image-is-ratio-size{align-self:unset;}.kb-image16581_7ad709-1c figure{max-width:300px;}.kb-image16581_7ad709-1c .image-is-svg, .kb-image16581_7ad709-1c .image-is-svg img{width:100%;}.kb-image16581_7ad709-1c .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image16581_7ad709-1c\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"409\" height=\"460\" src=\"https:\/\/www.kadencewp.com\/help-center\/wp-content\/uploads\/sites\/14\/2026\/01\/dynamic-content-settings.png\" alt=\"Dynamic Content Settings\" class=\"kb-img wp-image-16582\" srcset=\"https:\/\/www.kadencewp.com\/help-center\/wp-content\/uploads\/sites\/14\/2026\/01\/dynamic-content-settings.png 409w, https:\/\/www.kadencewp.com\/help-center\/wp-content\/uploads\/sites\/14\/2026\/01\/dynamic-content-settings-267x300.png 267w, https:\/\/www.kadencewp.com\/help-center\/wp-content\/uploads\/sites\/14\/2026\/01\/dynamic-content-settings-360x405.png 360w\" sizes=\"auto, (max-width: 409px) 100vw, 409px\" \/><\/figure><\/div>\n\n\n\n<p><strong>Expected result:<\/strong> If the term has an image set in Theme Kit Pro Archive Custom Settings, the image should render in the <strong>Image (Adv)<\/strong> block and for other dynamic options.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This guide shows how to display a Kadence Theme Kit Pro taxonomy image (like a Category image) inside blocks that support Kadence Blocks Pro Dynamic Content, such as Image (Adv) or Row block background image.\u00a0 This will display the \u201cAbove Header Background Image\u201d saved in the archive settings so it can be used when designing&#8230;<\/p>\n","protected":false},"author":148263,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"doc_category":[405],"doc_tag":[],"knowledge_base":[6],"class_list":["post-16581","docs","type-docs","status-publish","hentry","doc_category-theme-advanced","knowledge_base-kadence-theme"],"year_month":"2026-04","word_count":651,"total_views":"1576","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"display_name":"victormonk","author_link":"https:\/\/www.kadencewp.com\/help-center\/author\/victormonk\/"},"doc_category_info":[{"term_name":"Advanced","term_url":"https:\/\/www.kadencewp.com\/help-center\/knowledge-base\/kadence-theme\/theme-advanced\/"}],"doc_tag_info":[],"knowledge_base_info":[{"term_name":"Kadence Theme","term_url":"https:\/\/www.kadencewp.com\/help-center\/knowledge-base\/kadence-theme\/","term_slug":"kadence-theme"}],"knowledge_base_slug":["kadence-theme"],"taxonomy_info":{"doc_category":[{"value":405,"label":"Advanced"}],"knowledge_base":[{"value":6,"label":"Kadence Theme"}]},"featured_image_src_large":false,"comment_info":0,"_links":{"self":[{"href":"https:\/\/www.kadencewp.com\/help-center\/wp-json\/wp\/v2\/docs\/16581","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kadencewp.com\/help-center\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www.kadencewp.com\/help-center\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.kadencewp.com\/help-center\/wp-json\/wp\/v2\/users\/148263"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kadencewp.com\/help-center\/wp-json\/wp\/v2\/comments?post=16581"}],"version-history":[{"count":3,"href":"https:\/\/www.kadencewp.com\/help-center\/wp-json\/wp\/v2\/docs\/16581\/revisions"}],"predecessor-version":[{"id":16585,"href":"https:\/\/www.kadencewp.com\/help-center\/wp-json\/wp\/v2\/docs\/16581\/revisions\/16585"}],"wp:attachment":[{"href":"https:\/\/www.kadencewp.com\/help-center\/wp-json\/wp\/v2\/media?parent=16581"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/www.kadencewp.com\/help-center\/wp-json\/wp\/v2\/doc_category?post=16581"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www.kadencewp.com\/help-center\/wp-json\/wp\/v2\/doc_tag?post=16581"},{"taxonomy":"knowledge_base","embeddable":true,"href":"https:\/\/www.kadencewp.com\/help-center\/wp-json\/wp\/v2\/knowledge_base?post=16581"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}