Verfasste Forenbeiträge

Ansicht von 13 Antworten - 1 bis 13 (von insgesamt 13)
  • Thread-Starter danielwerner23

    (@danielwerner23)

    Super, es funktioniert. Lag an der onepress Schreibweise. Die Änderungen zur Versionsnummer habe ich ebenfalls vorgenommen. Danke

    Thread-Starter danielwerner23

    (@danielwerner23)

    Danke dir. Damit konnte ich alle Probleme soweit lösen. Du bist mein Held 🙂 Thema kann geschlossen werden.

    Thread-Starter danielwerner23

    (@danielwerner23)

    Ich habe zu danken. Bitte schließen.

    Thread-Starter danielwerner23

    (@danielwerner23)

    Ich konnte das Problem beheben. Bisher habe ich mir den Page Content mit get_page_by_title geholt, woraufhin der Lazy Block nicht gerendert wurde. Vermutlich weil der HTML-Code falsch ist. Nutze ich jetzt stattdessen WP_Query, gehts. Hier das Ergenis:

    $infobox = get_field_object('infobox');
    if(isset($infobox['value']->post_title) && !empty($infobox['value']->post_title)) {
        $slug = preg_replace("/\s+/", "", strip_tags($infobox['value']->post_title));
    
        VORHER:
        $page = get_page_by_title($slug, OBJECT, 'infobox');
        if($page) {
            echo $page->post_content;
        }
    
        NACHHER
        $loop = new WP_Query( array( 'post_type' => 'infobox', 'title' => $slug));
        while ( $loop->have_posts() ) {
            $loop->the_post();
            echo the_content();
        }	
    }
    Thread-Starter danielwerner23

    (@danielwerner23)

    Ich habe nochmal genauer geschaut, was die Ausgabe vom post_content ist und da scheint HTML-Code zu fehlen:

    <!-- wp:group {"className":"section"} -->
    <div class="wp-block-group section"><div class="wp-block-group__inner-container"><!-- wp:heading {"level":5} -->
    <h5>myheadline</h5>
    <!-- /wp:heading -->
    
    <!-- wp:paragraph -->
    <p>myparagraph..</p>
    <!-- /wp:paragraph -->
    
    <!-- wp:lazyblock/buttonlink {"caption":"mycaption","link":"mylink","blockId":"Z2ntBRl","blockUniqueClass":"lazyblock-buttonlink-Z2ntBRl"} /--></div></div>
    <!-- /wp:group -->

    Könnte das die Fehlerquelle sein? Merkwürdig, denn auf normalen Pages wird der Code korrekt ausgeworfen.

    Thread-Starter danielwerner23

    (@danielwerner23)

    Im Editor wird er ja angezeigt und ist bereits positioniert. Verwende ich den Lazy Block auf Pages, oder Posts, dann geht’s. Nur eben nicht auf meinen manuell erstellen CPT „Infobox“ in der functions.php wird er im Frontend wie im Eingangspost angezeigt (sprich nicht gerendert).

    • Diese Antwort wurde geändert vor 3 Jahren, 3 Monaten von danielwerner23.
    • Diese Antwort wurde geändert vor 3 Jahren, 3 Monaten von danielwerner23.
    Thread-Starter danielwerner23

    (@danielwerner23)

    Die Conditions habe ich bereits angepasst:
    settings

    Thread-Starter danielwerner23

    (@danielwerner23)

    Schau mal in dem eingangs verlinkten Thread. Der CPT befindet sich in der functions.php – die Feldgruppe habe ich mit dem Plugin „Advanced Custom Fields“ erstellt.

    Hier der Code:

    function custom_post_type() {
     
    	$labels = array(
    		'menu_name'           => __( 'Infobox')			
    	);
    		 
    	$args = array(
    		'label'               => __( 'infobox'),
    		'description'         => __( 'Infobox Sidebar'),
    		'labels'              => $labels,			
    		'supports'            => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields'),
    		'taxonomies'          => array( 'genres' ),
    		'hierarchical'        => false,
    		'public'              => false,
    		'show_ui'             => true,
    		'show_in_menu'        => true,
    		'show_in_nav_menus'   => false,
    		'show_in_admin_bar'   => true,
    		'menu_position'       => 5,
    		'can_export'          => false,
    		'has_archive'         => false,
    		'exclude_from_search' => true,
    		'publicly_queryable'  => false,
    		'rewrite' => false,
    		'capability_type'     => 'post',
    		'show_in_rest' => true,
    		'query_var' => false,
    		'menu_icon' => 'dashicons-info'
    	
    	);
    		 
    	register_post_type( 'infobox', $args );
    	remove_rewrite_tag( '%infobox%' );
    }
    	 
    add_action( 'init', 'custom_post_type', 0 );
    • Diese Antwort wurde geändert vor 3 Jahren, 3 Monaten von danielwerner23.
    Thread-Starter danielwerner23

    (@danielwerner23)

    [
        {
            "key": "group_5fe9ff342dcbb",
            "title": "Custom Settings",
            "fields": [
                {
                    "key": "field_5fea0100e6ec0",
                    "label": "Infobox",
                    "name": "infobox",
                    "type": "post_object",
                    "instructions": "",
                    "required": 0,
                    "conditional_logic": 0,
                    "wrapper": {
                        "width": "",
                        "class": "",
                        "id": ""
                    },
                    "post_type": [
                        "infobox"
                    ],
                    "taxonomy": "",
                    "allow_null": 0,
                    "multiple": 0,
                    "return_format": "object",
                    "ui": 1
                }
            ],
            "location": [
                [
                    {
                        "param": "post_type",
                        "operator": "==",
                        "value": "page"
                    }
                ]
            ],
            "menu_order": 0,
            "position": "side",
            "style": "default",
            "label_placement": "top",
            "instruction_placement": "label",
            "hide_on_screen": "",
            "active": true,
            "description": ""
        }
    ]
    Thread-Starter danielwerner23

    (@danielwerner23)

    Habe es geändert und nun wird es auch online geladen:

    add_theme_support( 'editor-styles' ); 
    add_editor_style( './assets/css/editor.css' );

    Danke euch.

    Thread-Starter danielwerner23

    (@danielwerner23)

    Habs:

    $foo = get_field_object('foo');
    echo $foo['value'];
    					
    echo "<hr>";
    					
    $bar = get_field_object('bar');					
    echo $bar['value']->post_content;

    Damit ich auch wirklich nur an den Wert ohne html etc. komme, braucht es dann noch:
    preg_replace("/\s+/", "", strip_tags($infobox['value']->post_content))

    Danke dir. Du hast mir sehr geholfen. 🙂

    • Diese Antwort wurde geändert vor 3 Jahren, 3 Monaten von danielwerner23.
    Thread-Starter danielwerner23

    (@danielwerner23)

    Genial, danke es funktioniert.

    gruppe

    sidebar

    Leider kann ich nicht im Frontend auf die Felder zugreifen, weder „foo“ noch „bar“ hat einen Wert – beide NULL:

    var_dump(get_field('foo', get_the_ID()));
    var_dump(get_field('bar', get_the_ID()));

    Wenn ich die ID weglasse, geht es auch nicht. Eigentlich sollte der Identifier „foo“ oder „bar“ korrekt sein?!

    var_dump(acf_get_field('foo'));
    var_dump(acf_get_field('foo'), get_the_ID());

    … gibt mir zwar ein schönes Array mit dem Field zurück, aber ich komme nicht an dessen Wert.

    ACL und WordPress sind beide aktuell. Entweder mache ich etwas falsch, oder bin mit dem Problem nicht alleine. Google wirft mir unter „wordpress get_field not working“ einige Ergebnisse aus. Mal schauen…

    • Diese Antwort wurde geändert vor 3 Jahren, 3 Monaten von danielwerner23.
    • Diese Antwort wurde geändert vor 3 Jahren, 3 Monaten von danielwerner23.
    • Diese Antwort wurde geändert vor 3 Jahren, 3 Monaten von danielwerner23.
    Thread-Starter danielwerner23

    (@danielwerner23)

    Hi,

    danke für die Info, aber deine Antwort passt nicht zu meiner Frage. Ich möchte meine Custom Post Types in den Document Settings einer Page (rechte Seite) in einem Dropdown anpassen. Wie kommst du auf ein Kontakt-Formular?

    Und wegen der functions.php… scheinbar kann man in diesem Forum nach einer gewissen Zeit die Beiträge nicht mehr korrigieren. Daher kann ich das nicht ändern.

    • Diese Antwort wurde geändert vor 3 Jahren, 3 Monaten von danielwerner23.
Ansicht von 13 Antworten - 1 bis 13 (von insgesamt 13)