Custom Fields for Page Edits

时间:2012-12-21 作者:Dz.slick

目前正在使用下面的代码进行SEO。如果将下面的代码添加到标题中效果很好,那么您必须手动创建查询的字段。大多数客户端几乎无法绕过WordPress UI,更不用说创建字段了。我试图编写一个插件,使每个页面上的字段在默认情况下都可见,以便客户端只需输入值。谢谢

<title>

<?php if ( is_single() || is_page() ) { ?><?php $title = get_post_meta($post->ID, \'Title\', true);  if ($title) { ?>
<?php echo $title; ?> | <?php bloginfo(\'name\'); ?>
<?php } else { ?>
<?php wp_title(\'\'); ?> | <?php bloginfo(\'name\'); ?>
<?php } ?>
<?php } ?>

</title>

<?php if (is_single() || is_page() ) : if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<meta name="description" content="<?php $description = get_post_meta($post->ID, \'Description\', true);  if ($description) { ?><?php echo get_post_meta($post->ID, "Description", true); ?>
<?php } else { ?><?php the_excerpt_rss(); ?><?php } ?>" />
<?php endwhile; endif; elseif(is_home()) : ?>
<meta name="description" content="<?php bloginfo(\'description\'); ?>" />
<?php endif; ?>

<?php if (is_single() || is_page() ) : if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<meta name="keywords" content="<?php $keywords = get_post_meta($post->ID, \'keywords\', true);  if ($keywords) { ?><?php echo get_post_meta($post->ID, "keywords", true); ?>
<?php } else { ?><?php the_excerpt_rss(); ?><?php } ?>" />
<?php endwhile; endif; elseif(is_home()) : ?>
<meta name="keywords" content="<?php bloginfo(\'keywords\'); ?>" />

<?php endif; ?>

Plugin structure

<?php
/*
Plugin Name: WP Site GPS
Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates
Description: Non Complicated Search Engine Optimization plugin
Version: 001
Author: Chibueze Okechukwu
*/



function mySEO() {
    include (\'wp-site-gps-transport.php\');
}


// Add hook for admin <head></head>
add_action(\'admin_head\', \'mySEO\');
// Add hook for front-end <head></head>
add_action(\'wp_head\', \'mySEO\');

?>

Plugin Include File

<title>

<?php if ( is_single() || is_page() ) { ?><?php $title = get_post_meta($post->ID, \'Title\', true);  if ($title) { ?>
<?php echo $title; ?> | <?php bloginfo(\'name\'); ?>
<?php } else { ?>
<?php wp_title(\'\'); ?> | <?php bloginfo(\'name\'); ?>
<?php } ?>
<?php } ?>

</title>

<?php if (is_single() || is_page() ) : if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<meta name="description" content="<?php $description = get_post_meta($post->ID, \'Description\', true);  if ($description) { ?><?php echo get_post_meta($post->ID, "Description", true); ?>
<?php } else { ?><?php the_excerpt_rss(); ?><?php } ?>" />
<?php endwhile; endif; elseif(is_home()) : ?>
<meta name="description" content="<?php bloginfo(\'description\'); ?>" />
<?php endif; ?>

<?php if (is_single() || is_page() ) : if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<meta name="keywords" content="<?php $keywords = get_post_meta($post->ID, \'keywords\', true);  if ($keywords) { ?><?php echo get_post_meta($post->ID, "keywords", true); ?>
<?php } else { ?><?php the_excerpt_rss(); ?><?php } ?>" />
<?php endwhile; endif; elseif(is_home()) : ?>
<meta name="keywords" content="<?php bloginfo(\'keywords\'); ?>" />

<?php endif; ?>

1 个回复
最合适的回答,由SO网友:Milo 整理而成

插件作者通常会使用add_meta_box 在编辑后屏幕上添加一个区域,供用户输入额外数据。在保存和检索数据以生成元框的函数中,使用post meta functions 存储它。请记住,在元键前面加下划线可以通过在普通自定义字段UI中隐藏键来保持整洁。

结束

相关推荐

如何理解ACTIVE_PLUGINS OPTION_VALUE从数据库中启用和禁用某些插件?

谁能解释一下如何解释和理解WordPress中的active\\u plugins option\\u value字符串吗。然后使用此字符串/数组禁用和激活特定插件?以下是一个示例:a:8:{i:0;s:21:\"adrotate/adrotate.php\";i:1;s:19:\"akismet/akismet.php\";i:2;s:33:\"better-related/better-related.php\";i:3;s:17:\"clicky/clicky.php\";i:4;s:49:\"cu