您当前的位置:网站首页>纯代码WordPress自定义文章分类标签SEO标题

纯代码WordPress自定义文章分类标签SEO标题

2019-06-18 03:27:22 投稿作者:yeweizeng 围观人数:74 评论人数:0次

注重SEO都希望每个页面都可以自定义SEO,正常WordPress是没有的,对于正常网站来说够了,但是如果想栏目标签这些,加下自己比较重要的关键词的那么还是要加下的,但是也别加太多,现在我们来给页面添加。

当然了,如果不喜欢折腾,可以看看这个分享WordPress网站SEO优化插件之DX-seo

自定义SEO,WordPress分类标题和标签标题的方法: 

1、把以下代码保存成一个PHP文件,如:wa-titie.php

<?php

//自定义wordpress分类标题

class zm_wp_title{

    function __construct(){

    // 分类

        add_action( 'category_add_form_fields', array( $this, 'add_tax_title_field' ) );

        add_action( 'category_edit_form_fields', array( $this, 'edit_tax_title_field' ) );

        add_action( 'edited_category', array( $this, 'save_tax_meta' ), 10, 2 );

        add_action( 'create_category', array( $this, 'save_tax_meta' ), 10, 2 );

    // 标签

        add_action( 'post_tag_add_form_fields', array( $this, 'add_tax_title_field' ) );

        add_action( 'post_tag_edit_form_fields', array( $this, 'edit_tax_title_field' ) );

        add_action( 'edited_post_tag', array( $this, 'save_tax_meta' ), 10, 2 );

        add_action( 'create_post_tag', array( $this, 'save_tax_meta' ), 10, 2 );

    }

    public function add_tax_title_field(){

?>

        <div class="form-field term-title-wrap">

            <label for="term_meta[tax_zm_title]">自定义标题</label>

            <input type="text" name="term_meta[tax_zm_title]" id="term_meta[tax_zm_title]" value="" />

            <p class="description">搜索引擎优化自定义标题,不填写即为默认标题</p>

        </div>

<?php

    } // add_tax_title_field

    public function edit_tax_title_field( $term ){

        $term_id = $term->term_id;

        $term_meta = get_option( "zm_taxonomy_$term_id" );

        $zm_title = $term_meta['tax_zm_title'] ? $term_meta['tax_zm_title'] : '';

?>

        <tr class="form-field term-title-wrap">

            <th scope="row">

                <label for="term_meta[tax_zm_title]">自定义标题</label>

                <td>

                    <input type="text" name="term_meta[tax_zm_title]" id="term_meta[tax_zm_title]" value="<?php echo $zm_title; ?>" />

                    <p class="description">搜索引擎优化自定义标题,不填写即为默认标题</p>

                </td>

            </th>

        </tr>

<?php

    } // edit_tax_title_field

    public function save_tax_meta( $term_id ){

        if ( isset( $_POST['term_meta'] ) ) {

            $t_id = $term_id;

            $term_meta = array();

            $term_meta['tax_zm_title'] = isset ( $_POST['term_meta']['tax_zm_title'] ) ? $_POST['term_meta']['tax_zm_title'] : '';

            update_option( "zm_taxonomy_$t_id", $term_meta );

        } // if isset( $_POST['term_meta'] )

    } // save_tax_meta

} // zm_wp_title

$wptt_tax_title = new zm_wp_title();

function the_zm_title() {

    $category = get_the_category();

    $term_id = $category[0]->cat_ID;

    $term_meta = get_option( "zm_taxonomy_$term_id" );

    $tax_zm_title = $term_meta['tax_zm_title'] ? $term_meta['tax_zm_title'] : '';

    echo $tax_zm_title;

}

function get_current_tag_id() {

    $current_tag = single_tag_title('', false);

    $tags = get_tags();

    foreach($tags as $tag) {

        if($tag->name == $current_tag) return $tag->term_id;

    }

}

function zm_tag_title() {

    $term_id = get_current_tag_id();

    $term_meta = get_option( "zm_taxonomy_$term_id" );

    $zm_tag_title = $term_meta['tax_zm_title'] ? $term_meta['tax_zm_title'] : '';

    echo $zm_tag_title;

}

?>

2、把 wa-title.php 文件引入到主题主函数functions.php中,复制以下代码即可。

//自定义标题
require get_template_directory() . '/wa-title.php';

3、以下代码放到自定义 Title 中 ,这个具体需要根据主题情况 分类标题SEO:

<?php if ( is_category() ) { ?><title><?php $title = the_zm_title(); echo ($title) ? 
''.$title.'' : single_cat_title(); ?> - <?php bloginfo('name'); ?></title><?php } ?>

标签标题SEO:

<?php if ( is_tag() ) { ?><title><?php  $title = zm_tag_title(); echo ($title) ? 
''.$title.'' : single_tag_title("", true); ?> - <?php bloginfo('name'); ?></title><?php } ?>

版权说明
免责声明:本文来自福利线报站发布,但不代表本站的观点和立场