我正在为我的网站使用一个名为Kalium的wordpress主题以及一些修改过的部分:https://www.idee-creative.co.uk
我在每种页面类型上都添加了自定义字段,因此我可以轻松地添加自己的标题和描述标记,以便在每一页上都可以自定义它们。我使用的代码如下:
<title><?php the_field('seo_page_title'); ?></title>
<meta name="description" content="<?php the_field('seo_page_description'); ?>"/>
拉取自定义字段并将其显示在页面的标题中。
我遇到的问题是,当我查看页面的源代码时,Wordpress似乎添加了自己的标记。所以我的网站有两个标签。我更愿意保留我自己的定制版本并删除Wordpress版本。
我似乎找不到它们是从哪里来的,我已经检查了header.php文件,除了上面我自己的自定义代码之外,似乎没有任何东西将title标签拉进去。。。下面是完整的header.php代码(如果有帮助):
<?php
/**
* Kalium WordPress Theme
*
* Laborator.co
* www.laborator.co
*/
// Get Menu Type To Use
$main_menu_type = get_data( 'main_menu_type' );
?>
<!DOCTYPE html>
<!--[if lt IE 7 ]><html class="ie ie6" <?php language_attributes(); ?>> <![endif]-->
<!--[if IE 7 ]><html class="ie ie7" <?php language_attributes(); ?>> <![endif]-->
<!--[if IE 8 ]><html class="ie ie8" <?php language_attributes(); ?>> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--><html <?php language_attributes(); ?>> <!--<![endif]-->
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><?php the_field('seo_page_title'); ?></title>
<meta name="description" content="<?php the_field('seo_page_description'); ?>"/>
<!-- Inclide Schema Markup File
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<?php include('json-ld.php'); ?><script type="application/ld+json"><?php echo json_encode($payload); ?></script>
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<?php
if ( apply_filters( 'kalium_show_header', true ) ) :
// Theme Borders
if ( get_data( 'theme_borders' ) ) :
get_template_part( 'tpls/borders' );
endif;
// Mobile Menu
include locate_template( 'tpls/menu-mobile.php' );
// Top Menu
if ( $main_menu_type == 'top-menu' || get_data( 'menu_top_force_include' ) ) {
include locate_template( 'tpls/menu-top.php' );
}
// Sidebar Menu
if ( $main_menu_type == 'sidebar-menu' || get_data( 'menu_sidebar_force_include' ) ) {
include locate_template( 'tpls/menu-sidebar.php' );
}
endif;
?>
<div class="wrapper" id="main-wrapper">
<?php
// Kalium Start Wrapper
do_action( 'kalium_wrapper_start' );
// Show Header
if ( apply_filters( 'kalium_show_header', true ) ):
// Main Header
get_template_part( 'tpls/header-main' );
endif;
?>
更新
这就是我发现的创建我相信的标题的功能。。。它位于父主题中的隐藏包含文件中。。。
// Open Graph Meta
function kalium_wp_head_open_graph_meta() {
global $post;
// Only show if open graph meta is allowed
if ( ! apply_filters( 'kalium_open_graph_meta', true ) ) {
return;
}
// Do not show open graph meta on single posts
if ( ! is_singular() ) {
return;
}
$featured_image = $post_thumb_id = '';
if ( has_post_thumbnail( $post->ID ) ) {
$post_thumb_id = get_post_thumbnail_id( $post->ID );
$featured_image = wp_get_attachment_image_src( $post_thumb_id, 'original' );
}
// Excerpt, clean styles
$excerpt = kalium_clean_excerpt( get_the_excerpt(), true );
?>
<meta property="og:type" content="article"/>
<meta property="og:title" content="<?php echo esc_attr( get_the_title() ); ?>"/>
<meta property="og:url" content="<?php echo esc_url( get_permalink() ); ?>"/>
<meta property="og:site_name" content="<?php echo esc_attr( get_bloginfo( 'name' ) ); ?>"/>
<meta property="og:description" content="<?php echo esc_attr( $excerpt ); ?>"/>
<?php if ( is_array( $featured_image ) ) : ?>
<meta property="og:image" content="<?php echo $featured_image[0]; ?>"/>
<link itemprop="image" href="<?php echo $featured_image[0]; ?>" />
<?php if ( apply_filters( 'kalium_meta_google_thumbnail', true ) ) : $thumb = wp_get_attachment_image_src( $post_thumb_id, 'thumbnail' ); ?>
<!--
<PageMap>
<DataObject type="thumbnail">
<Attribute name="src" value="<?php echo $thumb[0]; ?>"/>
<Attribute name="width" value="<?php echo $thumb[1]; ?>"/>
<Attribute name="height" value="<?php echo $thumb[2]; ?>"/>
</DataObject>
</PageMap>
-->
<?php endif; ?>
<?php endif;
}
add_action( 'wp_head', 'kalium_wp_head_open_graph_meta', 5 );
更新2
很抱歉不断更新,但我在主题的另一部分也有这样的内容:
// Title Parts
function kalium_wp_title_parts( $title, $sep, $seplocation ) {
$kalium_separator = apply_filters( 'kalium_wp_title_separator', ' – ' );
if ( empty( $sep ) ) {
return $title;
}
$title_sep = explode( $sep, $title );
if ( ! is_array( $title_sep ) ) {
return $title;
}
if ( $seplocation == 'right' ) {
$title = str_replace( $sep . end( $title_sep ), $kalium_separator . end( $title_sep ), $title );
} else {
$title = str_replace( reset( $title_sep ) . $sep, reset( $title_sep ) . $kalium_separator, $title );
}
return $title;
}
add_filter( 'wp_title', 'kalium_wp_title_parts', 10, 3 );
您应该像这样使用wp_标题挂钩:
add_filter( 'wp_title', 'my_custom_title_function', 20 );
然后定义函数
function my_custom_title_function( $title ) {
// use own function to produce title, for example:
// return str_replace('Old title', 'New title', $title);
}
或者在您的情况下,它可能是例如:
function my_custom_title_function( $title ) {
return the_field('seo_page_title');
}
(假设the_field
在该阶段是有效且可用的函数。)
如果要完全删除
remove_action( 'wp_head', '_wp_render_title_tag', 1 );
或者用更简单的方式(儿童主题)
删除主题支持('title tag')
您也可以使用
wp_head
与ob_start
等,但不推荐。
操作编辑后:
如果有另一个过滤器,只需删除它。.
remove_filter( 'wp_title', 'kalium_wp_title_parts', 99); / or 1
我还建议您阅读一些关于wp操作、过滤器和挂钩的内容。这是wp开发的基础。。
本文向大家介绍WordPress删除不必要的meta标签,包括了WordPress删除不必要的meta标签的使用技巧和注意事项,需要的朋友参考一下 WordPress默认情况下引用系统 wp_head() 获得很多的 meta 标签,其中有一些不太必要,所以我们可以通过 add_filter 和 remove_action 删除这些标签。 打开主题下的 functions.php 文件,加入下面的
Quickly removes tag, found by “Match Tag Pair” from current caret position, and adjusts indentation. 快速删除标签,并调整缩进。这里的标签是在插入符所在位置由 匹配标签 功能查找的标签。 <body> <div |class="wrapper"> <h1>Title</h1>
Google发布了带有BottomNavigationView的新支持库v25 有什么方法可以去除物品标签吗?
若要删除标签,在tag命令指定 -d选项执行。 $ git tag -d <tagname>
我试图通过StringBuilder传递一个XML对象,以便与对象进行比较,以符合我的需要。 我想知道是否有一种很好的方法可以从整个字符串中删除特定的标记。下面我准备了一个例子: 原件: 期望的结果: 所以基本上,我想删除id、state和整个注释,并关闭ApprovalItem标记(或者只删除所有斜杠)。 有什么想法吗?提前感谢:) 乔纳斯
我试图从PHP中删除“img src”标签,这样它就可以简单地显示图像网址,而不是显示实际图像。这是我到目前为止得到的代码,它工作得很好,但是当它呈现时,它显示缩略图而不是网址。 我知道有办法做到这一点,但我不知道如何在不破坏图像代码的情况下删除标签。感谢您的帮助。