您需要修改主题页以支持此更改。如果你已经有了一个背景,你可以在每篇文章的基础上使用该文章中描述的技术对其进行修改。
此插件Custom CSS per post in WordPress 是设置每页自定义css的一个很好的示例。
这个pro 为此,您可以将所需的CSS标记复制/粘贴到所有要调整的页面。假设有一个背景图像,那么你的努力程度是最小的。
这个con 跟上变化意味着在将来调整单个页面上的CSS。
另一种方法是创建自定义元盒,为您提供所需节类型的选择器。
<?php
// Register your Meta Box
function add_theme_section_meta_box() {
add_meta_box(
\'theme_section_meta_box\', // $id
\'Theme Section\', // $title
\'show_theme_section_meta_box\', // $callback
\'post\', // $page
\'normal\', // $context
\'high\' );
}
add_action( "add_meta_boxes", "add_theme_section_meta_box" );
// Render the meta box on the edit page
function show_theme_section_meta_box( $post ) {
$meta = get_post_meta( $post->ID, \'theme_section\', true );
if ( ! $meta || $meta === 0 ) {
$meta = false;
}
wp_nonce_field( basename( __FILE__ ), "theme-section-meta-box-nonce" );
$sections = array (
0 => \'None\',
\'bramble\' => \'Bramble\',
\'thorns\' => \'Thorns\',
\'paths\' => \'Paths\',
\'fruit\' => \'Fruit\',
);
?>
<table class="form-table">
<tr>
<th><label for="theme_section">Section</label></th>
<td>
<select name="theme_section" id="theme_section">
<?php foreach ( $sections as $section => $sectionTitle ) {
$selected = $meta === $section;
printf( "<option %s value=\'%s\'>%s</option>", $selected ? \'selected\' : \'\', $section, $sectionTitle );
}
?>
</select>
</td>
</tr>
</table>
<?php
}
// Save the meta when saving a post
function save_theme_section( $post_id, $post, $update ) {
if ( ! isset( $_POST[ "theme-section-meta-box-nonce" ] ) || ! wp_verify_nonce( $_POST[ "theme-section-meta-box-nonce" ], basename( __FILE__ ) ) ) {
return $post_id;
}
if ( ! current_user_can( "edit_post", $post_id ) ) {
return $post_id;
}
if ( defined( "DOING_AUTOSAVE" ) && DOING_AUTOSAVE ) {
return $post_id;
}
$slug = "post";
if ( $slug != $post->post_type ) {
return $post_id;
}
$theme_section = \'\';
if ( isset( $_POST[ "theme_section" ] ) ) {
$theme_section = $_POST[ "theme_section" ];
}
update_post_meta( $post_id, "theme_section", $theme_section );
}
add_action( "save_post", "save_theme_section", 10, 3 );
然后,当您想要显示背景时,只需检查您正在查看的页面是否具有该设置,并决定如何处理该设置。
$theme_section = get_post_meta( get_queried_object_id(), \'theme_section\', true );
if ( $theme_section && $theme_section !== 0 ) {
switch ($theme_section){
case \'bramble\':
// ...
break;
case \'thorns\':
// ...
break;
case \'paths\':
// ...
break;
case \'fruit\':
// ...
break;
}
}
第三种方法是
Term Meta 这类似于的自定义字段
categories. 然后,您可以在那里为自定义分类法指定详细信息,如要使用的图像。
看起来可能有一个插件-WP Term Images