簡體   English   中英

從主題父級Wordpress中刪除特定功能

[英]Remove a specific function from theme parent Wordpress

我嘗試從父主題function.php中刪除“ meta_box”操作,但未成功。

我已經嘗試了很多功能,但我認為我做得不好。 在這里,我嘗試應用了一些功能:

if (!function_exists('add_meta_box')) {
function add_meta_box() {add_meta_box( 'portfolio-meta-boxes', __('Portfolio Options','raw'), 'child_display_portfolio_meta_box', 'udt_portfolio', 'normal', 'high' );
}
}
function child_display_portfolio_meta_box() {...}

要么

add-action('after_theme_setup', 'remove_fonction_parent');
function remove_fonction_parent() {
function remove_fonction_parent() {
remove_meta_box('page_layout','display_portfolio_meta_box');
add_meta_box('page_layout','child_display_portfolio_meta_box');
}
function child_display_portfolio_meta_box() {...}

和其他一些方法,但是不幸的是,這不起作用...

我想用我的一個函數和我的2個模板替換調用3個“模板”(默認,全角功能介質,無特征介質)的函數。

在這里,我要刪除/更改的代碼,尤其是調用頁面布局的部分:

function create_portfolio_meta_box() {
global $key_portfolio; 
if( function_exists( 'add_meta_box' ) ) {
    add_meta_box( 'portfolio-meta-boxes', __('Portfolio Options','raw'), 'display_portfolio_meta_box', 'udt_portfolio', 'normal', 'high' );
}
}

function display_portfolio_meta_box() {
    global $post, $meta_boxes_portfolio, $key_portfolio;
?>
<div class="form-wrap">
    <?php
    wp_nonce_field( plugin_basename( __FILE__ ), $key_portfolio . '_wpnonce', false, true );
    foreach($meta_boxes_portfolio as $meta_box) {
        $data = get_post_meta($post->ID, $key_portfolio, true);
        ?>
        <?php if($meta_box[ 'name' ]=='display_title') { ?>
            <div class="form-field">
                <label for="<?php echo $meta_box[ 'name' ]; ?>"><?php echo $meta_box[ 'title' ]; ?></label>
                <input type="text" id="<?php echo $meta_box[ 'name' ]; ?>" name="<?php echo $meta_box[ 'name' ]; ?>" value="<?php if(isset($data[ $meta_box[ 'name' ] ])) { echo htmlspecialchars( $data[ $meta_box[ 'name' ] ] ); } ?>" />
                <p><?php echo $meta_box[ 'description' ]; ?></p>
            </div>
        <?php } else if($meta_box[ 'name' ]=='teaser') {?>
            <div class="form-field">
                <label for="<?php echo $meta_box[ 'name' ]; ?>"><?php echo $meta_box[ 'title' ]; ?></label>
                <textarea id="<?php echo $meta_box[ 'name' ]; ?>" name="<?php echo $meta_box[ 'name' ]; ?>"><?php if(isset($data[ $meta_box[ 'name' ] ])) { echo htmlspecialchars( $data[ $meta_box[ 'name' ] ] ); } ?></textarea>
                <p><?php echo $meta_box[ 'description' ]; ?></p>
            </div>
        <?php } else if($meta_box[ 'name' ]=='page_layout') { ?>
            <div class="form-field">
                <label for="<?php echo $meta_box[ 'name' ]; ?>"><?php echo $meta_box[ 'title' ]; ?></label>
                <select id="<?php echo $meta_box[ 'name' ]; ?>" name="<?php echo $meta_box[ 'name' ]; ?>" style="min-width:200px;">
                    <option value="default" <?php if(isset($data[$meta_box['name']])) selected($data[$meta_box['name']],'default'); ?>>Default</option>
                    <option value="full-width-media" <?php if(isset($data[$meta_box['name']])) selected($data[$meta_box['name']],'full-width-media'); ?>>Full Width Featured Media</option>
                    <option value="without-featured-media" <?php if(isset($data[$meta_box['name']])) selected($data[$meta_box['name']],'without-featured-media'); ?>>Without Featured Media</option>
                </select>
                <p><?php echo $meta_box[ 'description' ]; ?></p>
            </div>
        <?php } else if($meta_box[ 'name' ]=='display_media_caption') { ?>
            <div class="form-field">
                <label for="<?php echo $meta_box[ 'name' ]; ?>"><?php echo $meta_box[ 'title' ]; ?></label>
                <input type="text" id="<?php echo $meta_box[ 'name' ]; ?>" name="<?php echo $meta_box[ 'name' ]; ?>" value="<?php if(isset($data[ $meta_box[ 'name' ] ])) { echo htmlspecialchars( $data[ $meta_box[ 'name' ] ] ); } ?>" />
                <p><?php echo $meta_box[ 'description' ]; ?></p>
            </div>
        <?php }
    }?>
</div>

有人可以向我解釋我的測試有什么問題,並幫助我找到解決方案嗎?

非常感謝,對不起,我的英語不太好:)

該教程幫助我從WP主題中刪除了一個metabox:

http://code.tutsplus.com/articles/how-to-modify-the-parent-theme-behavior-within-the-child-theme--wp-31006

希望它對您有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM