向帖子编辑器添加选项以显示网站免责声明或消息

时间:2020-07-23 作者:Nik

我想知道如何添加一个选项来添加网站免责声明或消息published post 在Word Press中。

类似这样的内容(请参见下文)enter image description here

选中该框将导致其处于HEADER 网站(请参见下文)

enter image description here

下面我有HTML代码,但我不确定我需要在哪里输入代码,这样我就可以option 检查时间creating and publishing a post.

 *** <div class="main-wrap">

<div class="site_header" style="background-color:;">
            <div class="wrap">
                <div class="site_text" style="color:; font-size:14px; line-height:14px; text-align:center; padding:5px 0;">SITE</div>
                </div>
            </div>
    <div id="main-head" class="main-head">

<div class="wrap"> ***

1 个回复
SO网友:Antti Koskinen

你说的东西叫做a custom meta box. 它们可用于保存特定于帖子的设置和数据。您可以在的帮助下创建自己的元框add_meta_box() 作用

这里有一个简单的例子。这将转到您(孩子)的主题functions.php 文件或者,如果希望使代码主题独立,则创建a custom plugin 对于下面的代码。该示例适用于经典编辑器和块编辑器。

// Register metabox only for "post" post type
add_action(\'add_meta_boxes_post\', \'my_prefix_register_my_custom_metabox\', 10, 1);
function my_prefix_register_my_custom_metabox( $post ) {
    add_meta_box(
        \'my-metabox\', // id
        esc_html__( \'My Meta Box\', \'textdomain\' ), // title
        \'my_prefix_render_my_custom_metabox\', // callback
        \'post\', // screen - typically post type
        \'side\', // context - normal, side, advanced
        \'high\', // priority - high, low
        array() // optional callback args
    );
}

// Callback function that add_meta_box uses to render the contents of the metabox
function my_prefix_render_my_custom_metabox( $post, $callback_args ) {
    $checked = get_post_meta( $post->ID, \'_my_checkbox_value\', true );
    wp_nonce_field( \'my_custom_metabox_nonce_action_\' . $post->ID, \'my_custom_metabox_nonce\' );
    ?>
    <label>
        <input type="checkbox" name="_my_checkbox_value" value="1" <?php checked( $checked, 1); ?>>
        <span><?php esc_html_e( \'Display disclaimer\', \'textdomain\' ); ?></span>
    </label>
    <?php
}

// Callback for saving the metabox form fields when the post is saved
// Executes only when saving "post" post type
add_action( \'save_post_post\', \'my_prefix_save_my_custom_metabox\', 10, 3 );
function my_prefix_save_my_custom_metabox( $post_id, $post, $update ) {
    if ( ! current_user_can( \'edit_post\', $post_id ) ) {
        return;
    }
    if (
        wp_is_post_autosave( $post_id ) ||
        wp_is_post_revision( $post_id )
    ) {
        return;
    }
    if (
        empty( $_POST[\'my_custom_metabox_nonce\'] ) ||
        ! wp_verify_nonce( $_POST[\'my_custom_metabox_nonce\'], \'my_custom_metabox_nonce_action_\' . $post_id )
    ) {
        return;
    }
    if ( isset( $_POST[\'_my_checkbox_value\'] ) ) {
        update_post_meta( $post_id, \'_my_checkbox_value\', 1 );
    } else {
        delete_post_meta( $post_id, \'_my_checkbox_value\', 1 );
    }
}
您还可以向同一文件中添加一个助手函数,该函数负责显示免责声明消息。

function my_prefix_display_disclaimer() {
    if (
        is_single() &&
        get_post_meta( get_the_ID(), \'_my_checkbox_value\', true )
    ) {
        ?>
        <aside class="disclaimer">
            <p>This is a disclaimer.</p>
        </aside>
        <?php
    }
}
然后,您可以在某个(子)主题模板文件中直接使用helper函数。

<?php my_prefix_display_disclaimer(); ?>
或者将其挂接到主题可能提供的动作挂钩中。

// in functions.php or custom plugin file
add_action( \'some_theme_template_action_hook\', \'my_prefix_display_disclaimer\' );

相关推荐

POSTS_PER_PAGE不在块中工作

我已经为Wordpress编辑器创建了一个新块,我正在尝试使用一个简单的WP\\U查询,但到目前为止$args 除了post_type 背景例如,我想设置posts_per_page 设置为3,但忽略此设置。为什么会这样?<?php wp_reset_postdata(); wp_reset_query(); $latest_news_args = [ \'post_type\' => \'post\',