0

オタクとコードの神様、

ワードプレスのコードに問題があります。ダッシュボードのページ画面に 3 つの列を追加しました。

そのうちの 1 つはカスタム フィールドを表示します'scode'。scode カスタム フィールドは、割り当てられたページに「カートを追加」ボタンを追加する cart66 ショートコードを保持します。

ショートコードは次のようになります。

[add_to_cart item="HD-NL-7010"]

各ページには異なるショートコードがあります。すべてのショートコードの長さは同じで、31 文字です。

ただし、列にショートコード全体を表示するのではなく、コードの製品コード*HD-NL-7010*セクションのみを表示することをお勧めします。

最初の 19 文字と最後の 2 文字を非表示にすることはできますか? 基本的に取り外し[add_to_cart item=" and "]

以下は、ページ テーブルにカスタム列を追加するために function.php に追加したコードです。

function test_modify_post_table( $column ) {
    $column['scode'] = 'Product Code';
    $column['Price'] = 'Price';
    $column['Product_Image'] = 'Image';
    return $column;
}

add_filter( 'manage_pages_columns', 'test_modify_post_table' );


function test_modify_post_table_row( $column_name, $post_id ) {
    $custom_fields = get_post_custom( $post_id );

    switch ($column_name) {
        case 'scode' :
            echo $custom_fields['scode'][0];
            break;


        case 'Price' :
            echo '£' . $custom_fields['Price'][0];
            break;


        case 'Product_Image' :
            echo $custom_fields['Product_Image'][0];
            break;

        default:
    }
}

add_filter( 'manage_pages_custom_column', 'test_modify_post_table_row', 10, 2 );

この投稿を読んでいただきありがとうございます。どんな助けでも大歓迎です。

PS別の投稿でこれを尋ねるつもりですが、Product_Imageを画像添付IDではなくページ列に画像として表示する方法を知っている人はいますか?

4

1 に答える 1

1

誤解しているかもしれませんが、PHP のsubstrは役に立ちますか? 何かのようなもの:

case 'scode' :
    echo substr( $custom_fields['scode'][0], 19, 10 );
    break;

価値があるのは、カスタムフィールドにショートコードコードではなくコード (HD-NL-7010) だけを保存し、必要に応じてショートコードを適用すると思います ( do_shortcodeを使用)。

于 2013-05-09T12:42:44.293 に答える