Wie kan mij helpen?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front end developer binnen het onderwijs

Functie Het doel van dit team is om te zorgen dat de studenten altijd op de hoogte zijn van relevante informatie en de mogelijkheid hebben om online vragen te stellen. Hiervoor hebben ze een portal ontwikkeld. De app is echt een greenfield project met een eigen inrichting middels cloud. De ontwikkeling wordt gedaan door gebruik te maken van oa. Javascript, React, CSS, Next.js, GraphQL in een Azure Cloud omgeving. Daarnaast gebruiken ze tooling als Figma, storybook, Jest en Github. De complexiteit in deze rol zit hem in het feit dat data uit verschillende bronsystemen komt waarbij er zowel gekoppeld wordt

Bekijk vacature »

Medior/senior Python developer

Functie Bedrijven komen bij deze organisatie om technische vraagstukken op te lossen en hierin ook tot oplossingen te komen waar ze zelf misschien niet aan gedacht hadden. Jij gaat vanuit je ervaring dus niet alleen hands-on aan de slag met het ontwikkelen, maar zult ook zeker adviseren en proactief meedenken met de klant. Er zijn meerdere lange en/of korte projecten en het type klanten is heel uiteenlopend. Zo kun je terecht komen in een multidisciplinair scrumteam waarin je als Python developer meewerkt, of juist voor een kleiner (Greenfield) project aan de slag gaan waarin je veel breder bezig bent. Door

Bekijk vacature »

Junior PHP ontwikkelaar

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

C# Developer

Dit ga je doen De requirements in kaart brengen van de klant; Implementeren van functionele en technische specificaties bij opdrachtgevers; Oplossen van bugs; Meewerken aan maatwerksoftware voor nieuwe opdrachtgevers; Het testen en uitleveren van nieuwe functionaliteiten naar de acceptatie en productieomgeving De database ontwikkelen en onderhouden; Hier ga je werken Onze klant is gevestigd in het westen van Nederland en is gespecialiseerd in het ontwikkelen van software voor de levensmiddelen industrie. De software die het team maakt optimaliseert voornamelijk de administratieve processen, maakt deze meetbaar en zorgt ervoor dat de data zo goed mogelijk gebruikt kan worden. Binnen een van

Bekijk vacature »

Junior full stack developer

Functie Als full stack developer binnen onze organisatie ga jij je bezig houden met het bouwen van de user experience van de webapplicaties. Je bent verantwoordelijk voor het vertalen van concepten, briefings en designs naar werkende functionaliteit. Hierbij zorg je ervoor dat applicaties betrouwbaar, veilig en toekomstbestendig zijn en een goede architectuur hebben en behouden. Verder denk je actief na- en mee over nieuwe ontwikkelingen en functionaliteiten om zo elke dag de klantervaring weer te verbeteren. Dit doe je natuurlijk niet alleen maar in een development team. Het team bedraagt momenteel 4 man bestaande uit 2 devops engineers en 2

Bekijk vacature »

Ervaren PHP ontwikkelaar

Functie Jij als PHP ontwikkelaar komt te werken in een team van 4 andere PHP ontwikkelaars. Je zult je voornamelijk bezig houden met: – Het ontwikkelen van nieuwe features – Doorontwikkelen van de API – Nadenken over de technische infrastructuur – Datakwaliteit Samen met het team ben jij verantwoordelijk voor de verdere ontwikkeling van de software en om de positie als marktleider in Europa te behouden. Ze werken volgens SCRUM in 2 wekelijkse sprints, werken met Jira voor alle tickets en communiceren veel via Slack. Eisen • Minimaal 3 jaar ervaring als back end developer • Je hebt affiniteit met

Bekijk vacature »

Laravel / PHP developer

Functie omschrijving Wij zijn op zoek naar een Medior PHP / Laravel Developer voor een IT-consultancy in de omgeving van Hoofddorp! Ben jij op zoek naar een leuke nieuwe uitdaging binnen een veelzijdige werkomgeving? Lees dan snel verder! Binnen dit bedrijf werk je in een ontwikkelteam, waarin je zeer betrokken bent en meedenkt over softwareoplossingen. Binnen dit Team hou je je bezig met het aanpassen, verbeteren en vernieuwen van de logistieke oplossingen. Je zult je bezig houden met de volgende werkzaamheden: Je gaat aan de hand van de wensen van klanten software ontwikkelen; Je bent bij het gehele proces betrokken;

Bekijk vacature »

Lead developer (PHP, Symfony, DDD)

Functie Als Lead developer zorg je ervoor dat het team (bestaande uit zowel junior als ervaren developers) in staat is om de kwaliteit van de software (en code) verder te verhogen. In samenwerking met het team, de product owner en de andere lead developers zet je technische lijnen uit en bepaal je de prioriteiten per sprint. Lijkt het jou interessant om complexe problemen op te lossen en bijvoorbeeld een nieuwe applicatiestructuur in Symfony op te zetten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP Developer ga jij aan de slag met uitdagende software projecten. Jij gaat in deze functie software applicaties ontwikkelen. Deze software projecten zijn heel divers, en deze organisatie maakt software, van A tot Z. Klanten kunnen in elke sector werkzaam zijn, van profit tot non-profit. Deze software bouw je vooral in PHP en specifiek Laravel. Dit framework kent dus geen geheimen voor jou. De software die jij gaat ontwikkelen is heel divers, van urenregistratiesystemen tot compleet geautomatiseerde tools. In deze veelzijdige functie ga jij je zeker niet vervelen, elke dag bestaat weer uit nieuwe uitdagingen. Bedrijfsprofiel Deze

Bekijk vacature »

Embedded Software Developer Games

Functie omschrijving Heb jij affiniteit met hardware en wil jij kleuren binnen een Qt framework? Spreek jij de talen C en of C ++? Dan ben ik wellicht opzoek naar jou! Voor een super gave opdrachtgever in omgeving Delft is er namelijk plek voor een nieuwe kracht! Dit bedrijf is gespecialiseerd in het ontwerpen van software voor een unieke game industrie. Wil jij betrokken worden bij een proces dat loopt van ontwikkeling tot installatie? Waarbij je bezig zult zijn met perfecte systemen die geleverd worden aan binnen en buitenland? Je zult in een team, samen met vier ontwikkelaars, de mooiste

Bekijk vacature »

HBO startersfunctie .NET Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Ben je in januari 2023 klaar met je HBO opleiding en zoek je een mooie uitdaging? Wacht niet langer en solliciteer direct! Voor een familiebedrijf in de regio van Boxtel ben ik op zoek naar een C#.NET Ontwikkelaar. Jij gaat aan de slag met de (door)ontwikkeling van de maatwerksoftware projecten en gaat ook nieuwe software bouwen, middels de Microsoft-stack. Het bedrijf maakt gebruik van de volgende technieken: C# & ASP.NET; MVC; MS SQL; Entity Framework; Je krijgt hier veel tijd om te leren en eventueel door te groeien en het

Bekijk vacature »

Front end ontwikkelaar

Functie Het huidige team bestaat uit momenteel uit 5 back end developers verdeeld van senior tot junior. Omdat de gehele front end van applicaties anders gaan insteken zijn ze op zoek naar een ervaren Front end developer die hen kan helpen de juiste keuzes te maken. Je krijgt veel vrijheid om te bepalen hoe je dit wilt ontwikkelen en vrijheid in welke techniek je hiervoor wilt gebruiken. Je zult je dus bezighouden met architectuur, documentatie en natuurlijk ontwikkeling van nieuwe functionaliteiten binnen de verschillende applicaties. natuurlijk heb jij ook mogelijkheden om te sparren binnen het team, maar ze gaan uit

Bekijk vacature »

Senior Front end developer Automotive Angular

Functie Als Senior Front end developer kom je te werken in een team van 11 developers. 9 van de 11 focussen zich op back end, welke is geschreven in Java, en 2 op de front end waarbij er gebruik wordt gemaakt van Typescript en Angular. De focus in deze rol ligt op 2 aspecten; doorontwikkeling van de eigen tooling en gebruik van de tooling t.b.v. klantprojecten. Momenteel zijn ze in de afrondende fase van een project waarbij ze het gehele verkoopproces van nieuwe auto’s anders ingeregeld hebben voor een grote dealer in Nederland. Waarbij Auto’s normaliter pas verkocht werden in

Bekijk vacature »

.NET developer

Functie Jij begint als .NET ontwikkelaar in een team met 10 andere Software Engineers. De werkzaamheden zijn afwisselend, zo kan het dat jij bezig bent met volledig nieuwe features of het door ontwikkelen van bestaande sites of shops. Wij ontwikkelen web applicaties, maar ook mobiele applicaties. Daarnaast bijt jij je soms ook van in externe koppelingen met systemen zoals een ERP. Als team is er een duidelijke focus m.b.t. het waarborgen van de performance en snelheid van webshops. Ook zijn wij expert op het gebied van configuratoren. Kortom enorm veel afwisselende werkzaamheden! Ook jouw werkplek kan afwisselend zijn. Soms heb

Bekijk vacature »

Senior java ontwikkelaar integratie

Functieomschrijving Voor de gemeente Rotterdam zijn wij op zoek naar een senior java ontwikkelaar integratie. Taken Binnen een zelfsturend Scrumteam voer je geheel zelfstanding je opdrachten uit en levert het eindresultaat op aan het Integratieteam. Jij voelt je net als alle teamleden verantwoordelijk voor alle aspecten, vanaf de vraag tot en met de oplevering in productie. Je bent kritisch, je helpt de klant om zijn wensen helder te krijgen, je schrijft zelfstandig clean code die van hoge kwaliteit is, met bijbehorende unit- en integratietesten, je ondersteunt zo nodig bij deployments naar productie. Het Integratieteam bouwt componenten (Endpoints) op de ESB.

Bekijk vacature »
Pascal Doeleman

Pascal Doeleman

15/03/2019 17:51:05
Quote Anchor link
Script
}
endif;

/**
* Clearfix posts
*/
function astrid_clearfix_posts( $classes ) {
$classes[] = 'clearfix' ;
return $classes;
}

Error
FATAL ERROR syntax error, unexpected 'clearfix' (T_STRING), expecting ',' or ')' on line number 397
 
PHP hulp

PHP hulp

20/04/2024 18:07:24
 
- Ariën  -
Beheerder

- Ariën -

15/03/2019 17:53:59
Quote Anchor link
Ik heb het idee dat er wat meer code hier mist!
Met de functie is niks mis.

Geen idee of 'Script' onderdeel van je code is.
Deze kan je tussen [code] en [/code] tags plaatsen in het forum.
 
Pascal Doeleman

Pascal Doeleman

15/03/2019 17:55:31
Quote Anchor link
Dit is de hele code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
<?php
/**
 * Astrid functions and definitions.
 *
 * @link //developer.wordpress.org/themes/basics/theme-functions/
 *
 * @package Astrid
 */


if ( ! function_exists( 'astrid_setup' ) ) :
/**
 * Sets up theme defaults and registers support for various WordPress features.
 *
 * Note that this function is hooked into the after_setup_theme hook, which
 * runs before the init hook. The init hook is too late for some features, such
 * as indicating support for post thumbnails.
 */

function astrid_setup() {
    /*
     * Make theme available for translation.
     * Translations can be filed in the /languages/ directory.
     * If you're building a theme based on Astrid, use a find and replace
     * to change 'astrid' to the name of your theme in all the template files.
     */

    load_theme_textdomain( 'astrid', get_template_directory() . '/languages' );

    // Add default posts and comments RSS feed links to head.
    add_theme_support( 'automatic-feed-links' );

    /*
     * Let WordPress manage the document title.
     * By adding theme support, we declare that this theme does not use a
     * hard-coded <title> tag in the document head, and expect WordPress to
     * provide it for us.
     */

    add_theme_support( 'title-tag' );

    /*
     * Enable support for Post Thumbnails on posts and pages.
     *
     * @link //developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
     */

    add_theme_support( 'post-thumbnails' );
    add_image_size('astrid-large-thumb', 700);
    add_image_size('astrid-medium-thumb', 520);
    add_image_size('astrid-small-thumb', 360);
    add_image_size('astrid-project-thumb', 500, 310, true);
    add_image_size('astrid-client-thumb', 250);
    add_image_size('astrid-testimonial-thumb', 100);

    // This theme uses wp_nav_menu() in one location.
    register_nav_menus( array(
        'primary'     => esc_html__( 'Primary', 'astrid' ),
        'footer'     => esc_html__( 'Footer', 'astrid' ),
    ) );


    /*
     * Switch default core markup for search form, comment form, and comments
     * to output valid HTML5.
     */

    add_theme_support( 'html5', array(
        'search-form',
        'comment-form',
        'comment-list',
        'gallery',
        'caption',
    ) );


    /*
     * Enable support for Post Formats.
     * See //developer.wordpress.org/themes/functionality/post-formats/
     */

    add_theme_support( 'post-formats', array(
        'aside',
        'image',
        'video',
        'quote',
        'link',
    ) );


    // Set up the WordPress core custom background feature.
    add_theme_support( 'custom-background', apply_filters( 'astrid_custom_background_args', array(
        'default-color' => 'f5f9f8',
        'default-image' => '',
    ) ) );


    add_theme_support( 'custom-logo', array(
        'height'      => 80,
        'width'       => 200,
        'flex-height' => true,
    ) );    
}
endif;

add_action( 'after_setup_theme', 'astrid_setup' );

/**
 * Set the content width in pixels, based on the theme's design and stylesheet.
 *
 * Priority 0 to make it available to lower priority callbacks.
 *
 * @global int $content_width
 */

function astrid_content_width() {
    $GLOBALS['content_width'] = apply_filters( 'astrid_content_width', 640 );
}

add_action( 'after_setup_theme', 'astrid_content_width', 0 );

/**
 * Register widget area.
 *
 * @link //developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
 */

function astrid_widgets_init() {
    register_sidebar( array(
        'name'          => esc_html__( 'Sidebar', 'astrid' ),
        'id'            => 'sidebar-1',
        'description'   => '',
        'before_widget' => '<aside id="%1$s" class="widget %2$s">',
        'after_widget'  => '</aside>',
        'before_title'  => '<h4 class="widget-title">',
        'after_title'   => '</h4>',
    ) );


    //Register widget areas for the Widgetized page template
    $pages = get_pages(array(
        'meta_key' => '_wp_page_template',
        'meta_value' => 'page-templates/page_widgetized.php',
    ));


    foreach($pages as $page){
        register_sidebar( array(
            'name'          => esc_html__( 'Page - ', 'astrid' ) . $page->post_title,
            'id'            => 'widget-area-' . strtolower($page->post_name),
            'description'   => esc_html__( 'Use this widget area to build content for the page: ', 'astrid' ) . $page->post_title,
            'before_widget' => '<section id="%1$s" class="widget %2$s"><div class="atblock container">',
            'after_widget'  => '</div></section>',
            'before_title'  => '<h2 class="widget-title"><span class="title-decoration"></span>',
            'after_title'   => '</h2>',
        ) );
    }

    
    //Footer widget areas
    $widget_areas = get_theme_mod('footer_widget_areas', '3');
    for ($i=1; $i<=$widget_areas; $i++) {
        register_sidebar( array(
            'name'          => __( 'Footer ', 'astrid' ) . $i,
            'id'            => 'footer-' . $i,
            'description'   => '',
            'before_widget' => '<aside id="%1$s" class="widget %2$s">',
            'after_widget'  => '</aside>',
            'before_title'  => '<h3 class="widget-title">',
            'after_title'   => '</h3>',
        ) );
    }
    

    register_widget( 'Atframework_Services' );
    register_widget( 'Atframework_Skills' );
    register_widget( 'Atframework_Facts' );    
    register_widget( 'Atframework_Employees' );    
    register_widget( 'Atframework_Projects' );
    register_widget( 'Atframework_Testimonials' );
    register_widget( 'Atframework_Clients' );    
    register_widget( 'Atframework_Posts' );        
    register_widget( 'Atframework_Video' );        
    register_widget( 'Atframework_Recent_Posts' );
    register_widget( 'Atframework_Social' );    

}

add_action( 'widgets_init', 'astrid_widgets_init' );

//Homepage widgets
$astrid_widgets = array('services', 'skills', 'facts', 'employees', 'projects', 'testimonials', 'clients', 'posts');
foreach ( $astrid_widgets as $astrid_widget) {
    locate_template( '/inc/framework/widgets/front-' . $astrid_widget . '.php', true, false );
}


//Sidebar widgets
require get_template_directory() . "/inc/framework/widgets/video-widget.php";
require get_template_directory() . "/inc/framework/widgets/posts-widget.php";
require get_template_directory() . "/inc/framework/widgets/social-widget.php";

/**
 * Enqueue scripts and styles.
 */

function astrid_scripts() {
    wp_enqueue_style( 'astrid-style', get_stylesheet_uri() );

    $body_font         = get_theme_mod('body_font_name', '//fonts.googleapis.com/css?family=Open+Sans:300,300italic,600,600italic');
    $headings_font     = get_theme_mod('headings_font_name', '//fonts.googleapis.com/css?family=Josefin+Sans:300italic,300');
    $remove         = array("<link href='", "' rel='stylesheet' type='text/css'>", "https:", "http:");
    $body_url         = str_replace($remove, '', $body_font);
    $headings_url     = str_replace($remove, '', $headings_font);    

    wp_enqueue_style( 'astrid-body-fonts', esc_url($body_url) );
    
    wp_enqueue_style( 'astrid-headings-fonts', esc_url($headings_url) );     

    wp_enqueue_style( 'font-awesome', get_template_directory_uri() . '/fonts/font-awesome.min.css' );    

    wp_enqueue_script( 'astrid-main', get_template_directory_uri() . '/js/main.js', array('jquery'), '', true );

    wp_enqueue_script( 'astrid-scripts', get_template_directory_uri() . '/js/scripts.min.js', array('jquery'), '', true );

    if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
        wp_enqueue_script( 'comment-reply' );
    }


    if ( astrid_blog_layout() == 'masonry-layout' && (is_home() || is_archive()) ) {
        wp_enqueue_script( 'astrid-masonry-init', get_template_directory_uri() . '/js/masonry-init.js', array('masonry'), '', true );        
    }


    wp_enqueue_script( 'astrid-html5shiv', get_template_directory_uri() . '/js/html5shiv.js', array(), '', true );
    wp_script_add_data( 'astrid-html5shiv', 'conditional', 'lt IE 9' );

}

add_action( 'wp_enqueue_scripts', 'astrid_scripts' );

/**
 * Enqueue Bootstrap
 */

function astrid_enqueue_bootstrap() {
    wp_enqueue_style( 'bootstrap', get_template_directory_uri() . '/css/bootstrap/bootstrap.min.css', array(), true );
}

add_action( 'wp_enqueue_scripts', 'astrid_enqueue_bootstrap', 9 );


/**
 * Customizer styles
 */

function astrid_customizer_styles($hook) {
    if ( ( 'customize.php' != $hook ) && ( 'widgets.php' != $hook ) ) {
        return;
    }
    
    wp_enqueue_style( 'astrid-customizer-styles', get_template_directory_uri() . '/inc/framework/css/customizer.css' );    
}

add_action( 'admin_enqueue_scripts', 'astrid_customizer_styles' );

/**
 * Blog layout
 */

function astrid_blog_layout() {
    $layout = get_theme_mod('blog_layout','list');
    return $layout;
}


/**
 * Remove archives labels
 */

function astrid_category_label($title) {
    if ( is_category() ) {
        $title = '<i class="fa fa-folder-o"></i>' . single_cat_title( '', false );
    }
elseif ( is_tag() ) {
        $title = '<i class="fa fa-tag"></i>' . single_tag_title( '', false );        
    }
elseif ( is_author() ) {
        $title = '<span class="vcard"><i class="fa fa-user"></i>' . get_the_author() . '</span>';
    }

    return $title;
}

add_filter('get_the_archive_title', 'astrid_category_label');

/**
 * Header image check
 */

function astrid_has_header() {
    $front_header = get_theme_mod('front_header_type' ,'image');
    $site_header = get_theme_mod('site_header_type', 'nothing');
    global $post;
    if ( !is_404() || !is_search() ) {
        $single_toggle = get_post_meta( $post->ID, '_astrid_single_header_shortcode', true );
    }
else {
        $single_toggle = false;
    }


    if ($single_toggle != '') {
        return 'has-single';
    }
else {
        if ( get_header_image() && ( $front_header == 'image' && is_front_page() ) || ( $site_header == 'image' && !is_front_page() ) ) {
            return 'has-header';
        }
elseif ( ($front_header == 'shortcode' && is_front_page()) || ($site_header == 'shortcode' && !is_front_page()) ) {
            return 'has-shortcode';
        }
elseif ( ($front_header == 'video' && is_front_page()) || ($site_header == 'video' && !is_front_page()) ) {
            return 'has-video';
        }        
    }
}


/**
 * Full width single posts
 */

function astrid_fullwidth_singles($classes) {
    if ( function_exists('is_woocommerce') ) {
        $woocommerce = is_woocommerce();
    }
else {
        $woocommerce = false;
    }


    $single_layout = get_theme_mod('fullwidth_single', 0);
    if ( is_single() && !$woocommerce && $single_layout ) {
        $classes[] = 'fullwidth-single';
    }

    return $classes;
}

add_filter('body_class', 'astrid_fullwidth_singles');

/**
 * Polylang compatibility
 */

if ( function_exists('pll_register_string') ) :
function
astrid_polylang() {
    pll_register_string('Header text', get_theme_mod('header_text'), 'Astrid');
    pll_register_string('Header subtext', get_theme_mod('header_subtext'), 'Astrid');
    pll_register_string('Header button', get_theme_mod('header_button'), 'Astrid');
}

add_action( 'admin_init', 'astrid_polylang' );
endif;


/**
 * Header text
 */

function astrid_header_text() {

    if ( !function_exists('pll_register_string') ) {
        $header_text         = get_theme_mod('header_text');
        $header_subtext     = get_theme_mod('header_subtext');
        $header_button        = get_theme_mod('header_button');
    }
else {
        $header_text         = pll__(get_theme_mod('header_text'));
        $header_subtext     = pll__(get_theme_mod('header_subtext'));
        $header_button        = pll__(get_theme_mod('header_button'));
    }

    $header_button_url    = get_theme_mod('header_button_url');

    echo '<div class="header-info">
            <div class="container">
                <h4 class="header-subtext">'
. wp_kses_post($header_subtext) . '</h4>
                <h3 class="header-text">'
. wp_kses_post($header_text) . '</h3>';
                if ($header_button_url) {
                    echo '<a class="button header-button" href="' . esc_url($header_button_url) . '">' . esc_html($header_button) . '</a>';
                }

    echo     '</div>';
    echo '</div>';
}


/**
 * Site branding
 */

if ( ! function_exists( 'astrid_branding' ) ) :
function
astrid_branding() {
    $site_logo = get_theme_mod('site_logo');    
    if ( function_exists( 'the_custom_logo' ) && has_custom_logo() ) {
        the_custom_logo();
    }
elseif ( $site_logo ) {
        echo '<a href="' . esc_url( home_url( '/' ) ) . '" title="' . esc_attr(get_bloginfo('name')) . '"><img class="site-logo" src="' . esc_url($site_logo) . '" alt="' . esc_attr(get_bloginfo('name')) . '" /></a>';
    }
else {
        if ( is_front_page() && is_home() ) {
            echo '<h1 class="site-title"><a href="' . esc_url( home_url( '/' ) ) . '" rel="home">' . esc_html(get_bloginfo('name')) . '</a></h1>';
        }
else {
            echo '<p class="site-title"><a href="' . esc_url( home_url( '/' ) ) . '" rel="home">' . esc_html(get_bloginfo('name')) . '</a></p>';
        }

        echo '<p class="site-description">' . esc_html(get_bloginfo( 'description' )) . '</p>';
    }
}
endif;


/**
 * Footer site branding
 */

if ( ! function_exists( 'astrid_footer_branding' ) ) :
function
astrid_footer_branding() {
    $footer_logo = get_theme_mod('footer_logo');
    echo '<div class="footer-branding">';
    if ( $footer_logo ) :
        echo '<a href="' . esc_url( home_url( '/' ) ) . '" title="' . esc_attr(get_bloginfo('name')) . '"><img class="footer-logo" src="' . esc_url($footer_logo) . '" alt="' . esc_attr(get_bloginfo('name')) . '" /></a>';
    else :
        echo '<h2 class="site-title-footer"><a href="' . esc_url( home_url( '/' ) ) . '" rel="home">' . esc_html(get_bloginfo('name')) . '</a></h1>';
    endif;

    echo '</div>';
}
endif;


/**
 * Footer contact
 */

if ( ! function_exists( 'astrid_footer_contact' ) ) :
function
astrid_footer_contact() {
    $footer_contact_address = get_theme_mod('footer_contact_address');
    $footer_contact_email   = antispambot(get_theme_mod('footer_contact_email'));
    $footer_contact_phone     = get_theme_mod('footer_contact_phone

}
endif;

/**
 * Clearfix posts
 */
function astrid_clearfix_posts( $classes ) {
    $classes[] = '
clearfix';
    return $classes;
}
add_filter( '
post_class', 'astrid_clearfix_posts' );

/**
 * Excerpt length
 */
function astrid_excerpt_length( $length ) {
  $excerpt = get_theme_mod('
exc_length', '40');
  return absint($excerpt);
}
add_filter( '
excerpt_length', 'astrid_excerpt_length', 99 );

/**
* Footer credits
*/
function astrid_footer_credits() {
    echo '
<a href="' . esc_url( __( '//wordpress.org/', 'astrid' ) ) . '">';
        printf( __( '', '');

    echo '
<div class="footer-contact">';
    if ($footer_contact_address) {
        echo '
<div class="footer-contact-block">';
        echo     '
<i class="fa fa-home"></i>';
        echo     '
<span>' . esc_html($footer_contact_address) . '</span>';
        echo '
</div>';
    }
    if ($footer_contact_email) {
        echo '
<div class="footer-contact-block">';
        echo     '
<i class="fa fa-envelope"></i>';
        echo     '
<span><a href="mailto:' . esc_attr($footer_contact_email) . '">' . esc_html($footer_contact_email) . '</a></span>';
        echo '
</div>';
    }
    if ($footer_contact_phone) {
        echo '
<div class="footer-contact-block">';
        echo     '
<i class="fa fa-phone"></i>';
        echo     '
<span>' . esc_html($footer_contact_phone) . '</span>';
        echo '
</div>';
    }    
    echo '
</div>';' ), 'WordPress' );
    echo '</a>';
    echo '<span class="sep"> | </span>';
    printf( __( 'Theme: %2$s by %1$s.', 'astrid' ), 'aThemes', '<a href="//athemes.com/theme/astrid" rel="designer">Astrid</a>' );
}

add_action( 'astrid_footer', 'astrid_footer_credits' );

function
astrid_remove_page_template() {

    if ( !function_exists('astrid_pro_load_widgets') ) {

        global $pagenow;
        if ( in_array( $pagenow, array( 'post-new.php', 'post.php') ) && get_post_type() == 'page' ) { ?>

            <script type="text/javascript">
                (function($){
                    $(document).ready(function(){
                        $('#page_template option[value="single-event.php"]').remove();
                        $('#page_template option[value="single-pricing.php"]').remove();                    
                    })
                })(jQuery)
            </script>
        <?php
        }
    }
}

add_action('admin_footer', 'astrid_remove_page_template', 10);

/**
 * Implement the Custom Header feature.
 */

require get_template_directory() . '/inc/custom-header.php';

/**
 * Custom template tags for this theme.
 */

require get_template_directory() . '/inc/template-tags.php';

/**
 * Custom functions that act independently of the theme templates.
 */

require get_template_directory() . '/inc/extras.php';

/**
 * Customizer additions.
 */

require get_template_directory() . '/inc/customizer.php';

/**
 * Load Jetpack compatibility file.
 */

require get_template_directory() . '/inc/jetpack.php';

/**
 * Widget options
 */

require get_template_directory() . '/inc/framework/widget-options.php';

/**
 * Styles
 */

require get_template_directory() . '/inc/styles.php';

/**
 * Demo content
 */

require get_template_directory() . '/inc/demo-content/setup.php';

/**
 * Woocommerce
 */

require get_template_directory() . '/woocommerce/woocommerce.php';






/**
 * Gutenberg
 */

add_theme_support( 'align-wide' );

function
astrid_editor_styles() {
    wp_enqueue_style( 'astrid-block-editor-styles', get_theme_file_uri( '/astrid-gutenberg-editor-styles.css' ), '', '1.0', 'all' );

    $body_font         = get_theme_mod('body_font_name', '//fonts.googleapis.com/css?family=Open+Sans:300,300italic,600,600italic');
    $headings_font     = get_theme_mod('headings_font_name', '//fonts.googleapis.com/css?family=Josefin+Sans:300italic,300');
    $remove         = array("<link href='", "' rel='stylesheet' type='text/css'>", "https:", "http:");
    $body_url         = str_replace($remove, '', $body_font);
    $headings_url     = str_replace($remove, '', $headings_font);    

    wp_enqueue_style( 'astrid-body-fonts', esc_url($body_url) );
    
    wp_enqueue_style( 'astrid-headings-fonts', esc_url($headings_url) );

    //Dynamic styles
    $custom = '';

    //Fonts
    $body_fonts     = get_theme_mod('body_font_family');    
    $headings_fonts = get_theme_mod('headings_font_family');
    if ( $body_fonts !='' ) {
        $custom .= ".editor-block-list__layout, .editor-block-list__layout .editor-block-list__block { font-family:" . $body_fonts . ";}"."\n";
    }

    if ( $headings_fonts !='' ) {
        $custom .= ".editor-post-title__block .editor-post-title__input, .editor-block-list__layout .editor-post-title__input, .editor-block-list__layout h1, .editor-block-list__layout h2, .editor-block-list__layout h3, .editor-block-list__layout h4, .editor-block-list__layout h5, .editor-block-list__layout h6 { font-family:" . $headings_fonts . ";}"."\n";
    }
      
    
    
    //H1 size
    $h1_size = get_theme_mod( 'h1_size','36' );
    if ($h1_size) {
        $custom .= ".editor-block-list__layout h1 { font-size:" . intval($h1_size) . "px; }"."\n";
    }

    //H2 size
    $h2_size = get_theme_mod( 'h2_size','30' );
    if ($h2_size) {
        $custom .= ".editor-block-list__layout h2 { font-size:" . intval($h2_size) . "px; }"."\n";
    }

    //H3 size
    $h3_size = get_theme_mod( 'h3_size','24' );
    if ($h3_size) {
        $custom .= ".editor-block-list__layout h3 { font-size:" . intval($h3_size) . "px; }"."\n";
    }

    //H4 size
    $h4_size = get_theme_mod( 'h4_size','16' );
    if ($h4_size) {
        $custom .= ".editor-block-list__layout h4 { font-size:" . intval($h4_size) . "px; }"."\n";
    }

    //H5 size
    $h5_size = get_theme_mod( 'h5_size','14' );
    if ($h5_size) {
        $custom .= ".editor-block-list__layout h5 { font-size:" . intval($h5_size) . "px; }"."\n";
    }

    //H6 size
    $h6_size = get_theme_mod( 'h6_size','12' );
    if ($h6_size) {
        $custom .= ".editor-block-list__layout h6 { font-size:" . intval($h6_size) . "px; }"."\n";
    }

    //Body size
    $body_size = get_theme_mod( 'body_size', '14' );
    if ($body_size) {
        $custom .= ".editor-block-list__block, .editor-block-list__block p { font-size:" . intval($body_size) . "px; }"."\n";
    }


    //Body
    $body_text = get_theme_mod( 'body_text_color', '#656D6D' );
    $custom .= ".editor-block-list__layout, .editor-block-list__layout .editor-block-list__block { color:" . esc_attr($body_text) . "}"."\n";

    //Small screens font sizes
    $custom .= "@media only screen and (max-width: 780px) {
        h1 { font-size: 32px;}
        h2 { font-size: 28px;}
        h3 { font-size: 22px;}
        h4 { font-size: 18px;}
        h5 { font-size: 16px;}
        h6 { font-size: 14px;}
    }"
. "\n";

    
    //Output all the styles
    wp_add_inline_style( 'astrid-block-editor-styles', $custom );    

}

add_action( 'enqueue_block_editor_assets', 'astrid_editor_styles' );
?>
Gewijzigd op 15/03/2019 18:04:36 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

15/03/2019 18:04:17
Quote Anchor link
Op regel 388 gaat het mis.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
    $footer_contact_phone     = get_theme_mod('footer_contact_phone

Dit klopt niet echt.
En zou dit moeten zijn.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
    $footer_contact_phone     = get_theme_mod('footer_contact_phone');


Gelieve voortaan minder code te plaatsen. Relevante code kan je al beperkten tot max. 20 regels rond de lijn waar de foutmelding op wordt aangegeven.
Gewijzigd op 15/03/2019 18:06:54 door - Ariën -
 
Pascal Doeleman

Pascal Doeleman

15/03/2019 18:08:34
Quote Anchor link
Dank je wel!
Helaas nog geen oplossing - blijft op regel 397 terugkomen.


Toevoeging op 15/03/2019 18:10:44:

Ik heb echter op regel 416 de footer proberen aan te passen, daar ik iets verandert heb. De gehele website is nu offline... www.whateverband.eu


Toevoeging op 15/03/2019 18:13:48:

Hieronder wat ik heb aangepast:
function astrid_footer_credits() {
echo '<a href="' . esc_url( __( '//wordpress.org/', 'astrid' ) ) . '">';
printf( __( 'Powered by %s', 'astrid');
 
- Ariën  -
Beheerder

- Ariën -

15/03/2019 18:14:01
Quote Anchor link
In plaats van de fouten te lappen, kan je denk ik beter je theme opnieuw kan
installeren. Want hoe komt het dat je opeens fouten krijgt? Ik neem aan dat de themebouwer zelf geen brakke them's verspreidt.

Sowieso mist er een ).
Gewijzigd op 15/03/2019 18:16:43 door - Ariën -
 
Pascal Doeleman

Pascal Doeleman

15/03/2019 18:27:23
Quote Anchor link
Ik heb echter op regel 416 de footer proberen aan te passen, daar ik iets verandert heb. De gehele website is nu offline... www.whateverband.eu

De Theme helemaal opnieuw zie ik niet zitten. Ik heb een klein foutje gemaakt met grote gevolgen. Dit moet iets simpels zijn
 
- Ariën  -
Beheerder

- Ariën -

15/03/2019 18:32:25
Quote Anchor link
Backup terugzetten?
Misschien is het ook verstandig om je site in het vervolg op een loakle webserver op je eigen PC te ontwikkelen, zodat je niet meteen je fouten online zet.
Gewijzigd op 15/03/2019 18:34:30 door - Ariën -
 
Pascal Doeleman

Pascal Doeleman

15/03/2019 18:34:16
Quote Anchor link
Ik weet het: dom dom dom, niet aanwezig..
 
- Ariën  -
Beheerder

- Ariën -

15/03/2019 18:35:12
Quote Anchor link
Opnieuw downloaden, bestand overschrijven.
 
Pascal Doeleman

Pascal Doeleman

15/03/2019 18:51:27
Quote Anchor link
Thanks! Dat was de oplossing! SUPER!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.