正在尝试向wordpress添加自定义元框

正在尝试向wordpress添加自定义元框,wordpress,Wordpress,我正在尝试向wordpress页面添加一个自定义元框,该页面在自定义字段中存储一个值。它不起作用。将显示元框,但当您按update时,输入的值将丢失,并且不会向wp_Posteta表写入任何内容。不会创建c3m_赞助商_元键 我从网上的一个例子中改编了这个。我还尝试添加了一个die语句,以查看save post是否被调用,但没有任何东西死亡。我也不明白为什么没有为页面创建add\u post\u meta add_action( 'add_meta_boxes', 'c3m_sponsor_me

我正在尝试向wordpress页面添加一个自定义元框,该页面在自定义字段中存储一个值。它不起作用。将显示元框,但当您按update时,输入的值将丢失,并且不会向wp_Posteta表写入任何内容。不会创建c3m_赞助商_元键

我从网上的一个例子中改编了这个。我还尝试添加了一个die语句,以查看save post是否被调用,但没有任何东西死亡。我也不明白为什么没有为页面创建add\u post\u meta

add_action( 'add_meta_boxes', 'c3m_sponsor_meta' );
        function c3m_sponsor_meta() {
                add_meta_box( 'c3m_meta', 'Sponsor URL Metabox', 'c3m_sponsor_url_meta', 'page', 'side', 'high' );
                }

            function c3m_sponsor_url_meta( $post ) {
                $c3m_sponsor_url = get_post_meta( $post->ID, '_c3m_sponsor_url', true);
                if (!isset($c3m_sponsor_url))
                    add_post_meta($post->ID, '_c3m_sponsor_url', '', false);
                echo 'Please enter the sponsors website link below';
                ?>
                <input type="text" name="c3m_sponsor_url" value="<?php echo esc_attr( $c3m_sponsor_url ); ?>" />
                <?php
        }

add_action( 'save_post', 'c3m_save_project_meta' );

        function c3m_save_project_meta( $post_ID ) {
            die('here');
            global $post;
            if( $post->post_type == "page" ) {
                if (isset( $_POST ) ) {
                    update_post_meta( $post_ID, '_c3m_sponsor_url', strip_tags( $_POST['c3m_sponsor_url'] ) );
                }
            }
        }
非常感谢您的帮助 非常感谢

这可能会对您有所帮助:-

add_action( 'save_post', 'c3m_save_project_meta' );

function c3m_save_project_meta( $post_ID ) {
    if ( isset( $_POST['post_type'] ) && 'page' == $_POST['post_type'] )
    {
        if (isset( $_POST ) ) {
            update_post_meta( $post_ID, '_c3m_sponsor_url', strip_tags( $_POST['c3m_sponsor_url'] ) );
        }
    }
}
编辑:-
您可以简单地使用插件而不是使用代码。此插件对自定义元字段非常有用。

谢谢,但这并没有解决它。为什么在第一次制作元框时没有调用模具或创建自定义字段?再次感谢您的回答,您的自定义字段已创建,因为您在显示功能中添加了add_post_meta…您是否在第页进行测试???因为此过程仅在更新或创建页面时更新。请参阅此条件“page”=$\u POST['POST\u type']。它肯定不是创建的,因为它不在数据库中。更新页面后,当前页面或任何页面都不会有带有密钥_c3m_赞助商_url的postmeta。是的,我是在写网页而不是帖子。然而,这可能是一个错误的主题,因为页面元字段也不起作用。保存页面时,它们不会在文本字段中保留其值。我还没有查过数据库里的那些