php filters mijn opties?
Zo hoort het te zijn:
Dit krijg ik te zien:
De code is hieronder weergegeven. Ik kan alleen nog geen php lezen. Iemand die weet de oorzaak is dat dit gedeelte niet wordt weergegeven of wat ik aan moet passen?
Alvast Bedankt!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
public function controls() {
$allowed_post_types = apply_filters( 'cs_recent_posts_post_types', array( 'post' => 'post' ) );
if ( count($allowed_post_types) > 1 ) {
$choices = array();
foreach ($allowed_post_types as $key => $value) {
$obj = get_post_type_object( $value );
if ( ! is_null( $obj ) && isset( $obj->labels ) ) {
$choices[] = array( 'value' => $key, 'label' => $obj->labels->name );
}
}
$this->addControl(
'post_type',
'select',
__( 'Post Type', 'cornerstone' ),
__( 'Choose between standard posts or portfolio posts.', 'cornerstone' ),
'post',
array(
'choices' => $choices
)
);
}
?>
public function controls() {
$allowed_post_types = apply_filters( 'cs_recent_posts_post_types', array( 'post' => 'post' ) );
if ( count($allowed_post_types) > 1 ) {
$choices = array();
foreach ($allowed_post_types as $key => $value) {
$obj = get_post_type_object( $value );
if ( ! is_null( $obj ) && isset( $obj->labels ) ) {
$choices[] = array( 'value' => $key, 'label' => $obj->labels->name );
}
}
$this->addControl(
'post_type',
'select',
__( 'Post Type', 'cornerstone' ),
__( 'Choose between standard posts or portfolio posts.', 'cornerstone' ),
'post',
array(
'choices' => $choices
)
);
}
?>
Edit:
Ik heb code-tags geplaatst. Gelieve dit in het vervolg zelf toe te voegen aan je bericht.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Gewijzigd op 22/04/2018 23:26:18 door - Ariën -
Daarnaast geef je volgens mij in dat tweede argument (array('post' => 'post')) aan wat je precies wenst te filteren. Omdat je daar maar één type hebt staan zal dit menu mogelijk nooit getoond worden. Of misschien is dat een default waarop teruggevallen wordt.
Er zijn dus volgens mij twee mogelijkheden (die elkaar trouwens niet uitsluiten):
1. Alle berichten zijn maar van één type ("post"), daarom krijg je in het bovenstaande formulier de extra optie niet te zien, ik neem aan dat dat formulier bedoeld is om een soort van lijstje van items uit een specifieke categorie te bouwen?
2. Op dit moment heeft de dropdown maar één filtermogelijkheid (als dat array werkt zoals ik denk dat dit werkt, dit zou je mogelijk kunnen afleiden uit de callback functie "cs_recent_posts_post_types") en zou je dat array dus uit moeten breiden met extra opties. Maar dan ben je inhoudelijk code aan het aanpassen in een module of plugin en zou dit alles hard gecodeerd zijn, wat ik mij moeilijk kan voorstellen. Het aanpassen van code lijkt mij ook niet direct de bedoeling tenzij blijkt dat dit niet anders kan.
Mogelijk is dat array toch een fallback, en kun je de categorieën ergens anders instellen, de callback functie "cs_recent_posts_post_types" kan hier mogelijk meer informatie over verschaffen.
Dus, nog even verder graven voordat je op code-niveau dingen aanpast, dit zou je laatste toevlucht moeten zijn. En natuurlijk even controleren of bij de posts wel de juiste (custom) categorie wordt vastlegt, want als alles toch opgeslagen wordt als gewone "post" krijg je die extra dropdown dus nooit te zien.