Skip to content

Covering All Features of Template Tags in Full Site Editing (FSE) #22724

@epiqueras

Description

@epiqueras

Covering All Features of Template Tags in Full Site Editing (FSE)

What are template tags?

Template tags are PHP functions used in traditional WordPress template files to display content from the database dynamically. For example, the the_author() tag prints the name of the current author. They are grouped by their "category," which is a loose mapping to the entity they refer to.

Some template tags are also compositions of a set of template tags.

How this relates to FSE.

We need to make sure that we have all the necessary blocks in place to accomplish everything possible in traditional templates using template tags. This issue aims to track our progress towards this goal and to surface areas where we lack functionality and require contributions.

Tracking Tables

Below we track all template tags alongside their block equivalent, if we need one (N/A otherwise), whether the development has started, and whether the current state of development matches or exceeds all the functionality provided by the tag.

Note that this list is just an educated guess. The idea is for everyone in the community, especially those very familiar with traditional theme development, to contribute to this list. There might be things we are missing. There might be things we could lose.

Also, note that some of these blocks could be split up into different blocks if the scope of their functionality creeps too much or people see a benefit in having more fine-grained control. For example, the Post Comments block could use a mechanism like the Query Loop block's to build a template for comments using Comment Author, Comment Date, and Comment Content blocks.

Template Tags Reference: https://codex.wordpress.org/Template_Tags

General

Template Tag Block Equivalent Started Completed
get_header() Template Part 🔲
get_footer() Template Part 🔲
get_sidebar() Template Part 🔲
get_template_part() Template Part 🔲
get_search_form() Search 🔲
wp_loginout() Authentication 🔲
wp_logout_url() Authentication 🔲 🔲
wp_login_url() Authentication 🔲 🔲
wp_login_form() Authentication 🔲
wp_lostpassword_url() Authentication 🔲 🔲
wp_register() Authentication 🔲 🔲
wp_meta() N/A N/A N/A
bloginfo() N/A N/A N/A
get_bloginfo() N/A N/A N/A
get_current_blog_id() N/A N/A N/A
wp_title() N/A N/A N/A
single_post_title() Post Title 🔲
post_type_archive_title() Archive Title 🔲
single_cat_title() Query Title 🔲
single_tag_title() Query Title 🔲
single_term_title() Query Title 🔲
single_month_title() Query Title 🔲
get_archives_link() Navigation 🔲
wp_get_archives() Navigation 🔲
calendar_week_mod() Calendar 🔲 🔲
get_calendar() Calendar 🔲 🔲
delete_get_calendar_cache() N/A N/A N/A
allowed_tags() N/A N/A N/A
wp_ajaxurl() N/A N/A N/A
wp_enqueue_script() N/A N/A N/A

Author

Template Tag Block Equivalent Started Completed
the_author() Post Author 🔲
get_the_author() Post Author 🔲
the_author_link() Post Author 🔲
get_the_author_link() Post Author 🔲
the_author_meta() Post Author 🔲
the_author_posts() Post Author 🔲
the_author_posts_link() Post Author 🔲
wp_dropdown_users() Post Author 🔲
wp_list_authors() Post Author 🔲
get_author_posts_url() Post Author 🔲

Bookmark

Template Tag Block Equivalent Started Completed
wp_list_bookmarks() Bookmarks 🔲 🔲
get_bookmark() Bookmarks 🔲 🔲
get_bookmark_field() Bookmarks 🔲 🔲
get_bookmarks() Bookmarks 🔲 🔲

Category

Template Tag Block Equivalent Started Completed
category_description() Query Description 🔲
the_category() Hierarchichal Taxonomies 🔲
the_category_rss() N/A N/A N/A
wp_dropdown_categories() Hierarchichal Taxonomies 🔲
wp_list_categories() Hierarchichal Taxonomies 🔲
tag_description() Query Description 🔲
the_tags() Flat Taxonomies 🔲 🔲
wp_generate_tag_cloud() Flat Taxonomies 🔲 🔲
wp_tag_cloud() Flat Taxonomies 🔲 🔲
term_description() Query Description
get_the_term_list() Flat Taxonomies 🔲 🔲
the_terms() Flat Taxonomies 🔲 🔲
the_taxonomies() Flat Taxonomies 🔲 🔲

Comment

Template Tag Block Equivalent Started Completed
cancel_comment_reply_link() Post Comments Form 🔲
comment_author_email() Post Comments 🔲
comment_author_email_link() Post Comments 🔲
comment_author() Post Comments 🔲
comment_author_IP() Post Comments 🔲
comment_author_link() Post Comments 🔲
comment_author_rss() N/A N/A N/A
comment_author_url() Post Comments 🔲
comment_author_url_link() Post Comments 🔲
comment_class() Post Comments 🔲
comment_date() Post Comments 🔲
comment_excerpt() Post Comments 🔲
comment_form_title() Post Comments Form 🔲
comment_form() Post Comments Form 🔲
comment_ID() Post Comments 🔲
comment_id_fields() Post Comments 🔲
comment_reply_link() Post Comments 🔲
comment_text() Post Comments 🔲
comment_text_rss() N/A N/A N/A
comment_time() Post Comments 🔲
comment_type() Post Comments 🔲
comments_link() Post Comments Link 🔲
comments_number() Post Comments Count 🔲
comments_popup_link() Post Comments Link 🔲 🔲
comments_popup_script() Post Comments Link 🔲 🔲
comments_rss_link() N/A N/A N/A
get_avatar() Post Comments 🔲
next_comments_link() Post Comments 🔲
paginate_comments_links() Post Comments 🔲
permalink_comments_rss() N/A N/A N/A
previous_comments_link() Post Comments 🔲
wp_list_comments() Post Comments 🔲

Link

Template Tag Block Equivalent Started Completed
the_permalink() Link 🔲 🔲
user_trailingslashit() N/A 🔲 🔲
permalink_anchor() Link 🔲 🔲
get_permalink() Link 🔲 🔲
get_post_permalink() Link 🔲 🔲
post_permalink() Link 🔲 🔲
get_page_link() Link 🔲 🔲
get_attachment_link() Link 🔲 🔲
wp_shortlink_header() N/A N/A N/A
wp_shortlink_wp_head() N/A N/A N/A
edit_bookmark_link() N/A N/A N/A
edit_comment_link() Post Comments 🔲 🔲
edit_post_link() Link 🔲 🔲
get_edit_post_link() Link 🔲 🔲
get_delete_post_link() Link 🔲 🔲
edit_tag_link() N/A N/A N/A
get_admin_url() Link 🔲 🔲
get_home_url() Link 🔲 🔲
get_site_url() Link 🔲 🔲
home_url() Link 🔲 🔲
site_url() Link 🔲 🔲
get_search_link() Link 🔲 🔲
get_search_query() Search 🔲
the_feed_link() Link 🔲 🔲

Post

Template Tag Block Equivalent Started Completed
body_class() N/A N/A N/A
next_image_link() N/A N/A N/A
next_post_link() Query Pagination 🔲
next_posts_link() Query Pagination 🔲
post_class() N/A N/A N/A
post_password_required() N/A N/A N/A
posts_nav_link() Query Pagination 🔲
previous_image_link() N/A N/A N/A
previous_post_link() Query Pagination 🔲
previous_posts_link() Query Pagination 🔲
sticky_class() N/A N/A N/A
the_content() Post Content 🔲
the_content_rss() N/A N/A N/A
the_excerpt() Post Excerpt 🔲
the_excerpt_rss() N/A N/A N/A
the_ID() N/A N/A N/A
the_meta() Post Field 🔲 🔲
the_title() Post Title 🔲
get_the_title() Post Title 🔲
the_title_attribute() N/A N/A N/A
the_title_rss() N/A N/A N/A
wp_link_pages() Query Pagination 🔲
get_attachment_link() Link 🔲 🔲
wp_get_attachment_link() Link 🔲 🔲
the_attachment_link() Link 🔲 🔲
the_search_query() Search 🔲
is_attachment() N/A N/A N/A
wp_attachment_is_image() N/A N/A N/A
wp_get_attachment_image() N/A N/A N/A
wp_get_attachment_image_src() N/A N/A N/A
wp_get_attachment_metadata() N/A N/A N/A
get_the_date() Post Date 🔲
the_date() Post Date 🔲
the_date_xml() Post Date 🔲
the_modified_author() Post Author 🔲
the_modified_date() Post Date 🔲
the_modified_time() Post Date 🔲
the_time() Post Date 🔲
the_shortlink() Link 🔲 🔲
wp_get_shortlink() Link 🔲 🔲

Post Thumbnail

Template Tag Block Equivalent Started Completed
has_post_thumbnail() Post Featured Image 🔲
get_post_thumbnail_id() Post Featured Image 🔲
the_post_thumbnail() Post Featured Image 🔲
get_the_post_thumbnail() Post Featured Image 🔲

Navigation Menu

Template Tag Block Equivalent Started Completed
wp_nav_menu() Navigation 🔲
walk_nav_menu_tree() N/A N/A N/A

Metadata

Metadata

Assignees

Labels

[Status] In ProgressTracking issues with work in progress[Type] OverviewComprehensive, high level view of an area of focus often with multiple tracking issues

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions